تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الثالث والعشرون - تقارير البضائع
#2
الجزء الثاني : سنقوم بالاستعلام حسب قيمة Option1 ( بين تاريخين أو عام ) وباستخدام رقم البضاعة المخزن في المتغير Num وذلك عن الـ Kind مرة عندما يساوي الصفر ومرة عند الواحد ... مما يمكننا من جعلها في حلقة تكرار ... لاحظ الكود التالي :



كود :
[align=right]For i = 0 To 1
If Option1.Value = True Then
SQL = "select * from tb_sel_bay where product=" & num & " and kind=" & i
Else
SQL = "select * from tb_sel_bay where product=" & num & " and kind=" & i & " and date between#" & Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY") & "#"
End If
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset)[/align]
حيث يأخذ i قيما ما بين 0 و 1 .

لن نغلق حلقة التكرار فما زلنا في حاجة إليها ، وعلينا أولاً معرفة عدد السجلات الموجودة في الاستعلام وتخزينها في MyCnt رقم 0 أو 1 حسب قيمة i وذلك بالشكل التالي :


كود :
[align=right]If T4.RecordCount <> 0 Then
T4.MoveLast
T4.MoveFirst
End If
MyCnt(i) = T4.RecordCount[/align]

والآن علينا عمل اجراءين ، اجراء خاص بتكوين الجدول ، واجراء خاص بوضع البيانات فيها ، وبدلاً من عمل اجراءات منفصلة لكل جدول فسنعتمد مجدداً على قيمة i إما 0 أو 1 ، وسنعد اجراء اسمه FlexGrid لتكوين الجدول ويستقبل قيمة المتغير i ليضبط الجدول المحدد ... لاحظ كود الاجراء :



كود :
[align=right]Private Sub FlexGrid(r As Integer)
MSFlexGrid(r).Clear
MSFlexGrid(r).Cols = 5
MSFlexGrid(r).Rows = MyCnt(r) + 1

MSFlexGrid(r).Row = 0
MSFlexGrid(r).Col = 0
MSFlexGrid(r).Text = "ت"
MSFlexGrid(r).Col = 1
MSFlexGrid(r).Text = "رقم"
MSFlexGrid(r).Col = 2
MSFlexGrid(r).Text = "التاريخ"
MSFlexGrid(r).Col = 3
MSFlexGrid(r).Text = "الكمية"
MSFlexGrid(r).Col = 4
MSFlexGrid(r).Text = "السعر"

MSFlexGrid(r).ColAlignment(0) = 5
MSFlexGrid(r).ColAlignment(1) = 5
MSFlexGrid(r).ColAlignment(2) = 5
MSFlexGrid(r).ColAlignment(3) = 5
MSFlexGrid(r).ColAlignment(4) = 5

MSFlexGrid(r).ColWidth(0) = 500
MSFlexGrid(r).ColWidth(1) = 500
MSFlexGrid(r).ColWidth(3) = 1200
End Sub[/align]

وسنستدعيه بالشكل التالي :


كود :
[align=right]FlexGrid (i)[/align]
وبنفس الطريقة كود Put_Data لوضع البيانات :


كود :
[align=right]Private Sub Put_Data(r As Integer)
n = 0
With MSFlexGrid(r)

For i = 0 To T4.RecordCount - 1
n = n + 1
.Row = n
.Col = 0
.Text = n
.Col = 1
.Text = T4!Number
.Col = 2
.Text = T4!Date
.Col = 3
.Text = T4!Count
.Col = 4
.Text = T4!price
T4.MoveNext
Next i
End With
End Sub[/align]
ونستدعيه ، ثم نغلق القاعدة ، ونغلق حلقة التكرار :


كود :
[align=right]Put_Data (i)
T4.Close
Next i[/align]



أخيراً لا تنس كود اغلاق الفورم :


كود :
[align=right]Private Sub Command1_Click()
Unload Me
End Sub[/align]


والله الموفق .
والسلام عليكم ورحمة الله وبركاته .


الملفات المرفقة
.zip   prog19.zip (الحجم : 190.24 ك ب / التحميلات : 149)
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس الثالث والعشرون - تقارير البضائع - بواسطة Raggi Tech - 15-10-12, 08:32 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الرابع والثلاثون والأخير - نبذة عن العملية العكسية + تجهيز البرنامج على Cd RaggiTech 0 13,810 15-10-12, 09:10 AM
آخر رد: RaggiTech
  الدرس الثالث والثلاثون - كيفية عمل اعداد Setup للبرنامج RaggiTech 0 4,304 15-10-12, 09:08 AM
آخر رد: RaggiTech
  الدرس الثاني والثلاثون - التحويل إلى exe RaggiTech 0 4,338 15-10-12, 09:07 AM
آخر رد: RaggiTech
  الدرس الحادي والثلاثون - تعددية المستخدمين - البحث وطباعة الفواتير - التعليمات ... RaggiTech 2 5,302 15-10-12, 09:05 AM
آخر رد: RaggiTech
  الدرس الثلاثون - التعامل مع شريط الأدوات ToolBar RaggiTech 0 4,185 15-10-12, 08:59 AM
آخر رد: RaggiTech
  الدرس التاسع والعشرون - التعامل مع أشرطة الحالة Statues Bar RaggiTech 0 3,880 15-10-12, 08:57 AM
آخر رد: RaggiTech
  الدرس الثامن والعشرون -الطباعة في البرنامج . RaggiTech 4 5,767 15-10-12, 08:56 AM
آخر رد: RaggiTech
  الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport RaggiTech 2 6,598 15-10-12, 08:45 AM
آخر رد: RaggiTech
  الدرس السادس والعشرون - التقارير اليومية ، والتقارير بين تاريخين RaggiTech 1 4,725 15-10-12, 08:39 AM
آخر رد: RaggiTech
  الدرس الخامس والعشرون - الإحصائيات والرسوم البيانية RaggiTech 0 4,037 15-10-12, 08:37 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم