نمونه سورس کد ویژوال بیسیک دات نت برنامه پایگاه اکسس و با گزارش کریستال ریپورت


در دنیای توسعه نرم‌افزار، یکی از مواردی که بسیار مورد توجه قرار می‌گیرد، ساخت برنامه‌هایی است که بتوانند به راحتی با پایگاه‌های داده ارتباط برقرار کنند و اطلاعات مورد نیاز را به صورت گرافیکی و قابل فهم به کاربر نمایش دهند. در این راستا، ترکیب ویژوال بیسیک دات نت (VB.NET)، پایگاه داده اکسس (Access)، و ابزار گزارش‌گیری کریستال ریپورت (Crystal Reports)، یک راه حل بسیار قدرتمند و انعطاف‌پذیر به حساب می‌آید. در ادامه، سعی می‌کنم به صورت جامع و کامل، درباره نمونه سورس کد این نوع برنامه، توضیحاتی ارائه دهم که بتواند راهنمای خوبی برای توسعه‌دهندگان باشد.
مقدمه‌ای بر محیط توسعه و ابزارهای مورد استفاده
ابتدا باید بدانید که ویژوال بیسیک دات نت، یکی از زبان‌های برنامه‌نویسی محبوب و قدرتمند مایکروسافت است که به توسعه نرم‌افزارهای ویندوزی کمک می‌کند. این زبان، با دارا بودن امکانات فراوان، توسعه برنامه‌های گرافیکی و اتصال مستقیم به پایگاه‌های داده را آسان می‌سازد. پایگاه داده اکسس، که یکی از پایگاه‌های داده سبک و مناسب برای برنامه‌های کوچک و متوسط است، به راحتی با ویژوال بیسیک دات نت قابل ارتباط است. و اما کریستال ریپورت، ابزاری برای تولید گزارش‌های حرفه‌ای، زیبا و قابل تنظیم است که می‌تواند داده‌ها را به صورت جداول، نمودارها و دیگر انواع گراف‌ها نمایش دهد.
ساختار کلی برنامه
در این برنامه، چند بخش اصلی وجود دارد: اتصال به پایگاه داده اکسس، اجرای کوئری‌ها، نمایش داده‌ها در فرم‌ها، و تولید گزارش‌های آماده‌شده توسط کریستال ریپورت. در واقع، برنامه باید بتواند داده‌ها را از اکسس خوانده، آنها را در فرم‌های ویژوال بیسیک نمایش دهد، و کاربر بتواند با انتخاب فیلترها یا پارامترهای مختلف، گزارش‌های گوناگون از داده‌ها تولید کند.
کد نمونه اولیه برای اتصال به پایگاه داده اکسس
در ابتدا، باید یک اتصال به پایگاه داده اکسس برقرار کنیم. برای این کار، از کلاس OleDbConnection استفاده می‌کنیم. فرض کنید فایل اکسس شما در مسیر "C:\Database\Sample.accdb" قرار دارد. کد زیر نمونه‌ای از اتصال اولیه است:
vb.net  

Dim con As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.
  1. 0;Data Source=C:\Database\Sample.accdb;")


سپس، برای اجرای کوئری و خواندن داده‌ها، از OleDbCommand و OleDbDataReader یا OleDbDataAdapter بهره می‌بریم. مثلا، برای گرفتن تمامی رکوردهای جدول "Customers":
vb.net  

Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Customers", con)

Dim ds As New DataSet()

da.Fill(ds, "Customers")

DataGridView
  1. DataSource = ds.Tables("Customers")


در اینجا، DataGridView به عنوان کنترل نمایش داده‌ها در فرم استفاده می‌شود. این بخش، نمایش داده‌های خوانده شده از پایگاه داده است.
ایجاد فرم‌های کاربر و افزودن کنترل‌ها
برای راحتی کار، معمولا یک فرم طراحی می‌کنید که شامل کنترل‌هایی مانند DataGridView برای نمایش داده‌ها، چند دکمه برای عملیات‌های مختلف، و فیلدهای ورودی برای پارامترهای گزارش است. مثلا، یک Button با نام "btnGenerateReport" که با کلیک بر روی آن، گزارش کریستال ریپورت ساخته می‌شود.
نحوه تولید گزارش با کریستال ریپورت
برای استفاده از کریستال ریپورت، ابتدا باید یک فایل گزارش (با پسوند .rpt) طراحی کنید. این فایل می‌تواند شامل جدول‌هایی، نمودارها، و گروه‌بندی‌های مختلف باشد. وقتی کاربر روی دکمه تولید گزارش کلیک می‌کند، باید داده‌ها را به گزارش پاس بدهید و سپس آن را نمایش دهید.
یک نمونه کد برای نمایش گزارش:
vb.net  

Dim cryRpt As New ReportDocument()

cryRpt.Load("C:\Reports\CustomerReport.rpt")

cryRpt.SetDataSource(ds.Tables("Customers"))

CrystalReportViewer
  1. ReportSource = cryRpt

CrystalReportViewer
  1. RefreshReport()


در این نمونه، ابتدا یک شی از کلاس ReportDocument ساخته و فایل گزارش مورد نظر بارگذاری می‌شود. سپس، داده‌های مورد ن... ← ادامه مطلب در magicfile.ir