تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الثالث عشر - اضافة بضاعة جديدة
#1
كاتب الموضوع : أحمد جمال

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


القائمة الثانية : اضافة بضاعة جديدة .


في حال لم يكن لدينا أي أنواع أو مصانع فلن نستطيع اضافة أي بضاعة ، وهذا ما سنكتبه أيضاً عندما نظهر هذا الفورم .
في البداية سوف نختبر قيمة Index كما فعلنا مع القائمة الأولى .


كود :
Select Case Index
Case 0

Case 1

Case 2

End Select

والخيار الأول هو ما يهمنا خلال هذا الدرس . والآن سنتأكد من وجودة مصانع - موردين و أنواع .


كود :
If T2.RecordCount = 0 Then
MsgBox "لا يمكنك اضافة بضاعة مع عدم وجود أي أنواع مدرجة ، قم باضافة نوع أولاً من قائمة اضافة - اضافة نوع . قبل البدء باضافة البضائع", vbExclamation + arabic, "اضافة بضاعة"
Exit Sub
End If
If T3.RecordCount = 0 Then
MsgBox "لا يمكنك اضافة بضاعة مع عدم وجود أي موردين لديك ، قم باضافة مورد أولاً من قائمة اضافة - اضافة مورد . قبل البدء باضافة البضائع", vbExclamation + arabic, "اضافة بضاعة"
Exit Sub
End If

وأخيراً اظهار الفورم الخاص بالاضافة :


كود :
Frm_Add.Show 1
والآن تصميم شاشة الاضافة ، ولقد صممتها مثل شاشة التعديل تماماً .


*** من الممكن استخدام شاشة التعديل للاضافة مع اخفاء بعض العناصر فقط ، إلا أننا ابتعدنا عن هذا الإسلوب تجنباً للتداخل .

ومجدداً ، سوف نقوم مع كل تشغيل بتعبئة القوائم بالأنواع والمصانع الحالية .


كود :
T2.MoveFirst
T3.MoveFirst
Combo1.Clear
Combo2.Clear

For i = 0 To T2.RecordCount - 1
Combo1.AddItem T2!Name
T2.MoveNext
Next i

For i = 0 To T3.RecordCount - 1
Combo2.AddItem T3!Name
T3.MoveNext
Next i
كما أننا سنشئ اجراء لافراغ الخانات الأربع ، وسنسميه Clear_Text :


كود :
Sub Clear_Text()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub

وسنستدعيه في Form_Load كما سنجعل كل من القائميتن يؤشران لأول عنصر فيهما :


كود :
Clear_Text
Combo1.ListIndex = 0
Combo2.ListIndex = 0
وسنضع أمر التأكد من ادخال أرقام للخانات الثلاث الأخيرة . وقد شرحناه الدرس السابق :


كود :
If (KeyAscii > 58 Or KeyAscii < 48) And KeyAscii <> 46 And KeyAscii <> 8 Then
KeyAscii = 0
End If
كما لا ننسى أمر ( الغاء الأمر ) والخاص باغلاق الفورم :


كود :
Unload Me
والآن سننفذ أمر الاضافة عند النقر ، ومبدئياً لا بد أن يكون قد اختار اسماً للبضاعة ، أما العدد والسعر فإذا كان لا يحتاج إليهما فيمكنه عدم اضافتهما .
ولذا نتأكد من عدم فراغ الخانة في البداية :


كود :
If Text1.Text = "" Then
MsgBox "لا بد من ادخال اسم البضاعة !", vbExclamation + arabic, "اضافة بضاعة"
Exit Sub
End If
ومن ثم نتأكد من عدم وجود بضاعة بنفس الاسم لدينا في قاعدة البيانات :


كود :
SQL = "select * from tb_product where name='" & Text1.Text & "'"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset)
If T4.RecordCount <> 0 Then
MsgBox "توجد بضاعة لها نفس الاسم ، فضلاً اختر اسماً آخر", vbExclamation + arabic, "اضافة بضاعة"
Exit Sub
End If
والآن سوف نبدا أولاً بالحصول على رقم النوع والمورد اللذان تم اختيارهما ، مع اعلامه فيما إذا اختار نوعاً أو مورداً سبق حذفه ، وذلك كما تعلمنا في الدرس السابق :


كود :
T4.Close
Dim Num1, Num2
SQL = "select * from tb_category where name='" & Combo1.Text & "'"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset)
Num1 = T4!Number
If T4!View = False Then MsgBox "لا تنس أنك اخترت نوعاً سبق لك حذفه وهو موجود بصورة مؤقتة حتى انتهاء البضائع من نفس النوع", vbExclamation + arabic, "نوع محذوف"
T4.Close
SQL = "select * from tb_factory where name='" & Combo2.Text & "'"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset)
Num2 = T4!Number
If T4!View = False Then MsgBox "لا تنس أنك اخترت مورداً سبق لك حذفه وهو موجود بصورة مؤقتة حتى انتهاء البضائع من نفس المورد", vbExclamation + arabic, "مورد محذوف"
T4.Close

والآن سوف نضع المعلومات في أماكنها المناسبة في قاعدة البيانات :


كود :
With T1
.AddNew
!Name = Text1.Text
!category = Num1
!factory = Num2
!price = Val(Text2.Text)
!Count = Val(Text3.Text)
!Box_count = Val(Text4.Text)
.Update
End With

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



كود :
MsgBox "تمت الاضافة بنجاح ... إذا كنت تريد الانتهاء اضغط على زر انهاء أو واصل اضافة البضائع", vbInformation + arabic, "اضافة بضاعة"
Clear_Text
Text1.SetFocus

هذا هو الملف بعد الانتهاء من عمليات الدروس السابقة ...


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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الرابع والثلاثون والأخير - نبذة عن العملية العكسية + تجهيز البرنامج على Cd RaggiTech 0 11,109 15-10-12, 09:10 AM
آخر رد: RaggiTech
  الدرس الثالث والثلاثون - كيفية عمل اعداد Setup للبرنامج RaggiTech 0 3,978 15-10-12, 09:08 AM
آخر رد: RaggiTech
  الدرس الثاني والثلاثون - التحويل إلى exe RaggiTech 0 4,064 15-10-12, 09:07 AM
آخر رد: RaggiTech
  الدرس الحادي والثلاثون - تعددية المستخدمين - البحث وطباعة الفواتير - التعليمات ... RaggiTech 2 4,951 15-10-12, 09:05 AM
آخر رد: RaggiTech
  الدرس الثلاثون - التعامل مع شريط الأدوات ToolBar RaggiTech 0 3,822 15-10-12, 08:59 AM
آخر رد: RaggiTech
  الدرس التاسع والعشرون - التعامل مع أشرطة الحالة Statues Bar RaggiTech 0 3,602 15-10-12, 08:57 AM
آخر رد: RaggiTech
  الدرس الثامن والعشرون -الطباعة في البرنامج . RaggiTech 4 5,292 15-10-12, 08:56 AM
آخر رد: RaggiTech
  الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport RaggiTech 2 6,105 15-10-12, 08:45 AM
آخر رد: RaggiTech
  الدرس السادس والعشرون - التقارير اليومية ، والتقارير بين تاريخين RaggiTech 1 4,347 15-10-12, 08:39 AM
آخر رد: RaggiTech
  الدرس الخامس والعشرون - الإحصائيات والرسوم البيانية RaggiTech 0 3,766 15-10-12, 08:37 AM
آخر رد: RaggiTech

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


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