مروری بر نمونه سورس کد سیستم موجودی در VB.NET و پایگاه داده Access


در این مقاله، قصد داریم یک تحلیل جامع و کامل درباره نمونه سورس کد سیستم مدیریت موجودی، نوشته شده در زبان برنامه‌نویسی VB.NET، و استفاده از پایگاه داده Access، ارائه دهیم. این سیستم، به عنوان یکی از پروژه‌های معمول و کاربردی در حوزه برنامه‌نویسی، قابلیت‌های مختلفی را در مدیریت کالاها، ثبت ورود و خروج، و گزارش‌گیری فراهم می‌کند. همچنین، در ادامه، ساختارهای اصلی، منطق برنامه، و نحوه تعامل با پایگاه داده را مورد بررسی قرار خواهیم داد.
ساختار کلی سیستم
در ابتدا، باید بدانیم که سیستم موجودی، چه بخش‌هایی دارد و چگونه این بخش‌ها با هم تعامل می‌کنند. معمولا، این نوع سیستم‌ها شامل قسمت‌های زیر هستند:
- فرم‌های کاربر (UI)

- کلاس‌های مدیریت داده و عملیات

- پایگاه داده برای نگهداری اطلاعات کالا، ورودی‌ها، خروجی‌ها و گزارش‌ها
در نمونه سورس کد مورد نظر، معمولا، چند فرم اصلی طراحی شده است:
  1. فرم لیست کالاها (Items List)

  1. فرم ثبت ورود کالا (Stock Entry)

  1. فرم ثبت خروج کالا (Stock Exit)

  1. فرم گزارش‌گیری (Reports)
    کدهای برنامه، در بخش طراحی فرم‌ها و کدهای پشت‌صحنه (backend)، به صورت ماژولار و سازمان‌یافته، پیاده‌سازی شده‌اند. این کار، باعث می‌شود که نگهداری و توسعه سیستم آسان‌تر باشد.
    پایگاه داده Access و ساختار آن
    پایگاه داده، نقش کلیدی در این سیستم دارد. در نمونه مورد بحث، پایگاه داده Access استفاده شده است، چرا که سادگی و سرعت توسعه را فراهم می‌کند، و رابطه بین جداول به راحتی قابل درک است.
    جدول‌های مهم در این پایگاه داده عبارتند از:
    1. جدول کالاها (Products)

- شناسه کالا (ProductID)

- نام کالا (ProductName)

- دسته‌بندی (Category)

- تعداد موجودی (Quantity)

- قیمت واحد (UnitPrice)
  1. جدول ورود کالاها (StockIn)

- شناسه ورود (StockInID)

- شناسه کالا (ProductID)

- تعداد وارد شده (QuantityIn)

- تاریخ ورود (DateIn)
  1. جدول خروج کالاها (StockOut)

- شناسه خروج (StockOutID)

- شناسه کالا (ProductID)

- تعداد خارج شده (QuantityOut)

- تاریخ خروج (DateOut)
در این ساختار، ارتباط بین جدول‌ها از طریق شناسه کالا برقرار شده است، و این امکان را می‌دهد که عملیات ثبت، ویرایش، و حذف به صورت موثری انجام شود.
ایجاد ارتباط بین جداول
در سیستم، از روابط (Relationships) بین جداول بهره‌برداری می‌شود. به طور مثال، رابطه یک به چند (one-to-many) بین جدول کالاها و جداول ورود و خروج برقرار است، که به برنامه اجازه می‌دهد اطلاعات مربوط به هر کالا، به راحتی ردیابی و مدیریت شود.
کدهای برنامه‌نویسی در VB.NET
در بخش برنامه‌نویسی، از زبان VB.NET استفاده شده است. این زبان، یکی از زبان‌های قدرتمند و محبوب در توسعه برنامه‌های ویندوز است. کدهای نوشته شده، شامل موارد زیر هستند:
- اتصال به پایگاه داده Access با استفاده از OleDbConnection

- اجرای دستورات SQL برای افزودن، بروزرسانی، حذف و بازیابی داده‌ها

- مدیریت رویدادهای فرم‌ها، مانند کلیک بر روی دکمه‌ها، تغییر در لیست‌ها و فیلتر کردن داده‌ها

- اعتبارسنجی ورودی‌های کاربر، برای جلوگیری از خطاهای احتمالی

- نمایش داده‌ها در کنترل‌هایی مانند DataGridView، ComboBox و TextBox
مثال کد اتصال و عملیات CRUD
برای نمونه، در ادامه، یک بخش از کد را برای افزودن کالا به پایگاه داده آورده‌ایم:
vb.net  

Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.
  1. 0;Data Source=inventory.accdb")

Dim cmd As New OleDbCommand()
Sub AddProduct()

Try

con.Open()

cmd.Connection = con

cmd.CommandText = "INSERT INTO Products (ProductName, Category, Quantity, UnitPrice) VALUES (?, ?, ?, ?)"

cmd.Parameters.AddWithValue("@ProductName", txtProductName.Text)

cmd.Parameters.AddWithValue("@Category", cmbCategory.SelectedItem)

cmd.Parameters.AddWithValue("@Quantity", Integer.Parse(txtQuantity.Text))

cmd.Parameters.AddWithValue("@UnitPrice", Double.Parse(txtPrice.Text))

cmd.ExecuteNonQuery()

MessageBox.Show("کالا با موفقیت اضافه شد.")

Catch ex As Exception

MessageBox.Show("خطا در افزودن کالا: " & ex.Message)

Finally

con.Close()

... ← ادامه مطلب در magicfile.ir