برنامج إدارة المبيعات: الدرس - 12: صفحة المبيعات النقدية - الجزء 3: البحث بواسطة رقم وتاريخ الفاتورة


في الدرس الثاني عشر من برنامج ادارة المبيعات سنقومبالبحث عن الفواتير باستخدام رقم الوصل وتأريخ الوصل عرض الفواتير المطابقة لعمليات البحث داخل dgvTotal .






متطلبات هذا الدرس 

  • مربع نص رقم الوصل tbFindID 
  • اداة الوقت والتأريخ DateTimePacker - DTP  
  • زر البحث عن التأريخ المحدد btnFindDate 
  • زر إعادة تحميل جميع الفواتير btnReload 

أولاً: مربع نص رقم الوصل tbFindID 

عن طريق حدث tbFindID_TextChangedيتم البحث عن الفواتير عن طريق كتابة رقم الفاتورة داخل هذا الحدث. ويتم البحث عن طريق الكود التالي:-

Try
Dim daB As New OleDbDataAdapter("Select Bill_ID,Customer_Name,Total,Bill_Date From tblBills where Item_Name='المجموع' and Bill_ID like '%" & tbFindID.Text & "%' order by Bill_ID DESC", con)
            Dim dtB As New DataTable
            dgvTotal.Columns.Clear()
            dtB.Clear()
            daB.Fill(dtB)
            dgvTotal.DataSource = dtB
 
            Dim colDelete As New DataGridViewButtonColumn
            colDelete.Name = "Delete"
            colDelete.Text = ""
            colDelete.UseColumnTextForButtonValue = True
 
            colDelete.FlatStyle = FlatStyle.Flat
            dgvTotal.Columns.Add(colDelete)
            Dim colPrint As New DataGridViewButtonColumn
            colPrint.Name = "Print"
            colPrint.Text = "🖨"
            colPrint.UseColumnTextForButtonValue = True
 
            colPrint.FlatStyle = FlatStyle.Flat
            dgvTotal.Columns.Add(colPrint)
            dgvTotal.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
 
            dgvTotal.Columns(0).HeaderText = "رقم الفاتورة"
            dgvTotal.Columns(0).Width = 60
            dgvTotal.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
 
            dgvTotal.Columns(1).HeaderText = "اسم الزبون"
            dgvTotal.Columns(1).Width = 165
            dgvTotal.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            dgvTotal.Columns(2).HeaderText = "إجمالي الفاتورة"
            dgvTotal.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(2).Width = 80
            dgvTotal.Columns(3).HeaderText = "تأريخ البيع"
            dgvTotal.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(3).Width = 90
            dgvTotal.Columns(4).HeaderText = "حذف"
            dgvTotal.Columns(4).Width = 60
            dgvTotal.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(5).HeaderText = "طباعة"
            dgvTotal.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(5).Width = 60
 
            tbBillID.Text = dgvTotal.Rows(0).Cells("Bill_ID").Value.ToString
            tbCName.Text = dgvTotal.Rows(0).Cells("Customer_Name").Value.ToString
            tbDate.Text = dgvTotal.Rows(0).Cells("Bill_Date").Value
        Catch ex As Exception
 
        End Try

وللتأكد من عدم السماح للمستخدم بادخال حرف او رمز داخل مربع نص رقم الوصل بدل الارقام يتم كتابة الكود التالي داخل حدث tbFindID_KeyPress 

Private Sub tbFindID_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tbFindID.KeyPress
        If Not Char.IsNumber(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar) Then
            e.Handled = True
        End If
End Sub


ثانياً: اداة الوقت والتأريخ  DTP  

يتم تحديد التأريخ الفواتير  المراد البحث عنها.


ثالثاً: زر البحث عن التأريخ المحدد btnFindDate 

بعد تحديد التأريخ الفواتير  المراد البحث عنها في اداة  DTP يتم الغغط على هذا الزر لإجراء عملية البحث عن طريق الكود التالي.

Dim SelectedDate As Date = DTP.Value
 Dim FindDate = SelectedDate.Day & "-" & SelectedDate.Month & "-" & SelectedDate.Year
 
        Try
      Dim daB As New OleDbDataAdapter("Select Bill_ID,Customer_Name,Total,Bill_Date
      From tblBills where Item_Name='المجموع' and Bill_Date = '" & FindDate & "' order by Bill_ID DESC", con)
            Dim dtB As New DataTable
            dgvTotal.Columns.Clear()
            dtB.Clear()
            daB.Fill(dtB)
 
            dgvTotal.DataSource = dtB
 
            Dim colDelete As New DataGridViewButtonColumn
            colDelete.Name = "Delete"
            colDelete.Text = ""
            colDelete.UseColumnTextForButtonValue = True
 
            colDelete.FlatStyle = FlatStyle.Flat
            dgvTotal.Columns.Add(colDelete)
            Dim colPrint As New DataGridViewButtonColumn
            colPrint.Name = "Print"
            colPrint.Text = "🖨"
            colPrint.UseColumnTextForButtonValue = True
 
            colPrint.FlatStyle = FlatStyle.Flat
            dgvTotal.Columns.Add(colPrint)
            dgvTotal.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
 
            dgvTotal.Columns(0).HeaderText = "رقم الفاتورة"
            dgvTotal.Columns(0).Width = 60
            dgvTotal.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
 
            dgvTotal.Columns(1).HeaderText = "اسم الزبون"
            dgvTotal.Columns(1).Width = 165
            dgvTotal.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
 
            dgvTotal.Columns(2).HeaderText = "إجمالي الفاتورة"
            dgvTotal.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(2).Width = 80
 
            dgvTotal.Columns(3).HeaderText = "تأريخ البيع"
            dgvTotal.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(3).Width = 90
            dgvTotal.Columns(4).HeaderText = "حذف"
            dgvTotal.Columns(4).Width = 60
            dgvTotal.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(5).HeaderText = "طباعة"
            dgvTotal.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            dgvTotal.Columns(5).Width = 60
 
            tbBillID.Text = dgvTotal.Rows(0).Cells("Bill_ID").Value.ToString
            tbCName.Text = dgvTotal.Rows(0).Cells("Customer_Name").Value.ToString
            tbDate.Text = dgvTotal.Rows(0).Cells("Bill_Date").Value
        Catch ex As Exception
 
        End Try


رابعاً: زر إعادة تحميل جميع الفواتير btnReload 

يتم إعادة تحميل جميع الفواتير داخل dgvTotal بعد اتمام عملية البحث عن طريق استدعاء Load_Bills داخل هذا ازر.

Private Sub btnReload_Click(sender As Object, e As EventArgs) Handles btnReload.Click
        Load_Bills()
 End Sub


لتحميل الأكواد المستخدمة في الدرس إضغط هنا 

يمكنكم متابعة الدرس عن طريق اليوتيوب




دروس قد تهمك

شرح عرض فواتير- برنامج ادارة المطاعم https://youtu.be/pvGbqhxwo5o
عرض الفواتير حسب رقم الفاتورة،تأريخ معين،بين تأريخين - برنامج ادارة المطاعم https://youtu.be/Gnbveum_erI عرض الفواتير الشهر,فواتير الخصم وبدون خصم - برنامج ادارة المطاعم https://youtu.be/8d2_ea8CRgk عرض الفواتير اليوم , الأمس والأسبوع - برنامج ادارة المطاعم https://youtu.be/_GkYftUyJgU

قوائم تشغيل قد تهمك 🎬 برنامج إدارة المطاعم - Vb.net and MS Access https://youtube.com/playlist?list=PLJ_b4a1hzeO_8w9hKbLq_FvhYquVLynqk دورة مايكروسوفت اكسس Microsoft Access https://www.youtube.com/playlist?list=PLJ_b4a1hzeO8kBfZzpjYGVB-i1dgrGyWW دورة ربط الفيجوال بيسك بقواعد البيانات (SQL Server - Access) https://www.youtube.com/playlist?list=PLJ_b4a1hzeO9-R7JTfRFsmHXaWhWaXTVP دورة تعلم الفيحوال بيسك (vb.net) https://www.youtube.com/playlist?list=PLJ_b4a1hzeO_qAeBJbFZlTWwLhqqpIMXk

للتواصل https://www.facebook.com/Info.AliAlhadithy #المبيعات #المدينون #مبيعات_غير_نقدية #مبيعات_آجلة #مبيعات_نقدية #حساب_المبيعات #فاتورة_ييع


تعليقات

المشاركات الشائعة من هذه المدونة

برنامج إدارة المطاعم - الدرس الثالث والعشرون والأخير: برمجة صلاحيات المستخدمين

برنامج إدارة المبيعات - الدرس الأول :- صفحة الموجودات - الجزء 1 - إنشاء جدول الموجوادت وعرضه بالفيجوال بيسك

دورة Microsoft Access - الدرس الثامن: انشاء وتوزيع صلاحيات التحكم للمستخدمين :