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

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

أولاً: مربع نص رقم الوصل tbFindID
عن طريق حدث tbFindID_TextChangedيتم البحث عن الفواتير عن طريق كتابة رقم الفاتورة داخل هذا الحدث. ويتم البحث عن طريق الكود التالي:-
عن طريق حدث 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
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
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
dtB.Clear()
daB.Fill(dtB)
dgvTotal.DataSource = dtB
Dim colDelete As New DataGridViewButtonColumn
colDelete.Text = "❌"
colDelete.UseColumnTextForButtonValue = True
colDelete.FlatStyle = FlatStyle.Flat
dgvTotal.Columns.Add(colDelete)
Dim colPrint As New DataGridViewButtonColumn
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
End Try
وللتأكد من عدم السماح للمستخدم بادخال حرف او رمز داخل مربع نص رقم الوصل بدل الارقام يتم كتابة الكود التالي داخل حدث tbFindID_KeyPress
وللتأكد من عدم السماح للمستخدم بادخال حرف او رمز داخل مربع نص رقم الوصل بدل الارقام يتم كتابة الكود التالي داخل حدث 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
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
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
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
Try
Dim daB As New OleDbDataAdapter("Select Bill_ID,Customer_Name,Total,Bill_Date
dtB.Clear()
daB.Fill(dtB)
dgvTotal.DataSource = dtB
Dim colDelete As New DataGridViewButtonColumn
colDelete.Text = "❌"
colDelete.UseColumnTextForButtonValue = True
colDelete.FlatStyle = FlatStyle.Flat
dgvTotal.Columns.Add(colDelete)
Dim colPrint As New DataGridViewButtonColumn
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
End Try

رابعاً: زر إعادة تحميل جميع الفواتير btnReload
يتم إعادة تحميل جميع الفواتير داخل dgvTotal بعد اتمام عملية البحث عن طريق استدعاء Load_Bills داخل هذا ازر.
Private Sub btnReload_Click(sender As Object, e As EventArgs) Handles
btnReload.Click
Load_Bills()
End
Sub
Private Sub btnReload_Click(sender As Object, e As EventArgs) Handles
btnReload.Click
Load_Bills()
End Sub
End Sub

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

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



تعليقات
إرسال تعليق