15-10-12, 08:52 AM
طباعة التقرير بين تاريخين شاملاً التقرير اليومي .
بمثل طريقة الدرس السابق ، سوف نصمم الشاشة كما تعلمنا بحيث تحتوي على المعلومات التالية :
رقم العملية - اسم البضاعة - التاريخ - الكمية - السعر .
ومصادرهم :
رقم العملية - اسم البضاعة - التاريخ - الكمية - السعر .
ومصادرهم :
tb_sel_bay.number - name - date - tb_sel_bay.count -tb_Sel_bay.price
وتكون مربعات العناوين الخمسة التي اضفناها في التقرير السابق مستمرة ولكنها سوف تعرض المعلومات التالية :
* اليوم من الأسبوع .
* عدد عمليات المبيعات .
* عدد عمليات المشتريات .
* اجمالي سعر المبيعات .
* اجمالي سعر المشتريات
* عدد عمليات المبيعات .
* عدد عمليات المشتريات .
* اجمالي سعر المبيعات .
* اجمالي سعر المشتريات
وهي معلومات معروضة في الفورم .
مجدداً سوف نستخدم طريقة sql_now لمعرفة جملة الاستعلام المنفذة حالياً ، كما سنستخدم أيضاً dt1 و dt2 لمعرفة التاريخ ، وأيضاً typلمعرفة هل الاستعلام بين تاريخين أم ليوم واحد فقط .
سوف نغير الأسطر التالية من كود التنفيذ :
مجدداً سوف نستخدم طريقة sql_now لمعرفة جملة الاستعلام المنفذة حالياً ، كما سنستخدم أيضاً dt1 و dt2 لمعرفة التاريخ ، وأيضاً typلمعرفة هل الاستعلام بين تاريخين أم ليوم واحد فقط .
سوف نغير الأسطر التالية من كود التنفيذ :
If Label2.Visible = False Then
SQL = "select * from tb_sel_bay where kind=0 and date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "#"
Else
SQL = "select * from tb_sel_bay where kind=0 and date between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY") & "#"
End If
إلى :
If Label2.Visible = False Then
SQL = "select * from tb_sel_bay where kind=0 and date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "#"
sql_now = "select tb_sel_bay.*,tb_product.* from tb_sel_bay,tb_product where date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and tb_product.number = tb_sel_bay.product"
dt1 = MaskEdBox1.Text
sql_now = "select tb_sel_bay.*,tb_product.* from tb_sel_bay,tb_product where date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and tb_product.number = tb_sel_bay.product"
dt1 = MaskEdBox1.Text
typ = 0
Else
Else
SQL = "select * from tb_sel_bay where kind=0 and date between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY") & "#"
sql_now = "select tb_sel_bay.*,tb_product.* from tb_sel_bay,tb_product where date between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY") & "# and tb_product.number = tb_sel_bay.product"
dt1 = MaskEdBox1.Text
sql_now = "select tb_sel_bay.*,tb_product.* from tb_sel_bay,tb_product where date between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY") & "# and tb_product.number = tb_sel_bay.product"
dt1 = MaskEdBox1.Text
dt2 = MaskEdBox2.Text
typ = 1
End If
End If
وأخيراً كود الطباعة تماماً مثل المرة السابقة مع بعض التغييرات الطفيفة فقط :
Private Sub Command3_Click(Index As Integer
)
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Folder & "db1.mdb;" & "Jet OLEDB
atabase Password=" & PassWord
Set Rs = New ADODB.Recordset
Set Rs = cn.Execute(sql_now & " and kind=" & Index
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Folder & "db1.mdb;" & "Jet OLEDB
atabase Password=" & PassWordSet Rs = New ADODB.Recordset
Set Rs = cn.Execute(sql_now & " and kind=" & Index
)
Set DataReport3.DataSource = Rs
DataReport3.Sections("Section2").Controls("l1").Ca ption = Lbl_day
DataReport3.Sections("Section2").Controls("l2").Ca ption = lbl_cnt1
DataReport3.Sections("Section2").Controls("l3").Ca ption = lbl_cnt2
DataReport3.Sections("Section2").Controls("l4").Ca ption = lbl_prc1
DataReport3.Sections("Section2").Controls("l5").Ca ption = lbl_prc2
Select Case Index
Case 0
If typ = 0 Then
DataReport3.Sections("Section2").Controls("l2").Ca ption = lbl_cnt1
DataReport3.Sections("Section2").Controls("l3").Ca ption = lbl_cnt2
DataReport3.Sections("Section2").Controls("l4").Ca ption = lbl_prc1
DataReport3.Sections("Section2").Controls("l5").Ca ption = lbl_prc2
Select Case Index
Case 0
If typ = 0 Then
DataReport3.Sections("Section2").Controls("label1" ).Caption = "تقرير المبيعات ليوم " & dt1
Else
Else
DataReport3.Sections("Section2").Controls("label1" ).Caption = "تقرير المبيعات للمدة بين " & dt1 & " و " &dt2
End If
Case 1
If typ = 0 Then
End If
Case 1
If typ = 0 Then
DataReport3.Sections("Section2").Controls("label1" ).Caption = "تقرير المشتريات ليوم " & dt1
Else
Else
DataReport3.Sections("Section2").Controls("label1" ).Caption = "تقرير المشتريات للمدة بين " & dt1 & " و " &dt2
End If
End Select
DataReport3.Sections("Section2").Controls("label3" ).Caption = Info(2)
End If
End Select
DataReport3.Sections("Section2").Controls("label3" ).Caption = Info(2)
DataReport3.Sections("Section2").Controls("label4" ).Caption
= "هاتف : " & Info(3)
DataReport3.Show
Set cn = Nothing
Set Rs = Nothing
End Sub
Set Rs = Nothing
End Sub
[b]
طباعة نتائج البحث .
لطباعة تقرير حول البحث ، فإننا لا نحتاج لأكثر من تصميم الشاشة الأولى تماماً ... كل ما سنغير فيه هو جملة الاستعلام .
نقوم بعمل شاشة شبيهة تماماً بالشاشة الأولى دون أي تغيير ، ونعود لشاشة البحث لكتابة كود الطباعة .
قبل كتابة كود الطباعة سوف نقوم باضافة كل من Sql_now لعرض جملة الاستعلام الحالية كما تعلمنا سابقاً ، وكل من a1,a2,a3 لتوضيح متغيرات عملية البحث الثلاثة : البحث بدلالة ، معامل البحث ، كلمة البحث .
ونكتب الكود ضمن عملية البحث وذلك في الدالة Search كما ترى :
نقوم بعمل شاشة شبيهة تماماً بالشاشة الأولى دون أي تغيير ، ونعود لشاشة البحث لكتابة كود الطباعة .
قبل كتابة كود الطباعة سوف نقوم باضافة كل من Sql_now لعرض جملة الاستعلام الحالية كما تعلمنا سابقاً ، وكل من a1,a2,a3 لتوضيح متغيرات عملية البحث الثلاثة : البحث بدلالة ، معامل البحث ، كلمة البحث .
ونكتب الكود ضمن عملية البحث وذلك في الدالة Search كما ترى :
sql_now = SQL
a1 = Combo1.Text
a2 = Combo2.Text
a3 = Text1.Text
a1 = Combo1.Text
a2 = Combo2.Text
a3 = Text1.Text
والآن ننتقل لكتابة الكود ، وفي البداية الاتصال بقاعدة البيانات :
If sql_now = "" Then Exit Sub
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Folder & "db1.mdb;" & "Jet OLEDB
atabase Password=" & PassWord
Set Rs = New ADODB.Recordset
Set Rs = cn.Execute(sql_now
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Folder & "db1.mdb;" & "Jet OLEDB
atabase Password=" & PassWordSet Rs = New ADODB.Recordset
Set Rs = cn.Execute(sql_now
)
Set DataReport4.DataSource = Rs
ضبط المعلومات المعروضة ، وتغيير العنوان :
DataReport4.Sections("Section2").Controls("label3" ).Caption = Info(2
)
DataReport4.Sections("Section2").Controls("label4" ).Caption
= "هاتف : " & Info(3)
DataReport4.Sections("Section2").Controls("label1" ).Caption
= "نتائج البحث عن بضائع ( " & a1 & a2 & a3 & " )"
استكمال عملية الطباعة :
استكمال عملية الطباعة :
DataReport4.Show
Set cn = Nothing
Set Rs = Nothing
Set Rs = Nothing
هذا هو الدرس الأخير من هذا القسم ، في القسم القادم سوف نقوم بتحسين أداء البرنامج واضافة اشرطة الأدوات بإذن الله .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
[/b]
والسلام عليكم ورحمة الله وبركاته .
