سلام اخواني الأعزاء .. أرجو المساعدة في إيجاد طريقة لإدخال أكثر من فاتورة بيع في نفس الوقت باستخدام نموذج بيع واحد دون الحاجة لانشاء عدة فورمات .. أي التمكن من فتح الفورم ذاته أكثر من مرة في نفس الوقت .. إن أمكن و لكم جزيل اشكر
نموذج فاتورة
جرب ما يلى
في بداية الوحدة نمطية Module للنموذج الذى ستفتح من خلاله نموذج الفاتورة أو وحدة نمطية مستقلة جرب بحيث تكون بداية الوحدة النمطية كالشكل التالى
Option Compare Database
Option Explicit
Public clnClient As New Collection
Dim xform As Integer
المهم السطرين الأخيرين
يجب تغيير Dim إلى Public إذا كانت الوحدة النمطية مستقلة
ثم في الزر الذى سيفتح نموذج إدخال البيانات
Dim frm As Form
Set frm = New [Form_FormName]
xform = xform + 1
frm.Visible = True
frm.Caption = frm.Caption & " " & Str(xform)
clnClient.Add Item:=frm, Key:=CStr(frm.Hwnd)
Set frm = Nothing
حيث FormName
هو اسم النموذج الذى تريد تكرار فتحه (نموذج الفاتورة)
إستخدم المتغير xform
لتمييز نماذج الفاتورة المختلفة التى ستفتحه
ا
تم تعديل هذه المشاركة بواسطة الفهرى في 10 ديسمبر 2017 في 09:29
اخي السلام عليكم
لقد مررت بتجربتك سابقا واكتشفت الكثير الكثير من المشكلات التي ستكتشفها لاحقا وإذا اردت ان تبحث في المراجع يجب ان تبحث عن Instance form for VBA
إن عمليه فتح نماذج بالاعتماد على نموذج اساسي تدعى بعملية Instance
ساقوم برفع المثال المتكامل ولكن انصحك ان تقرا مشاركتي السابقة
/index.php?/topic/303898-%D9%86%D9%85%D8%A7%D8%B0%D8%AC-%D9%85%D8%B7%D8%A7%D8%A8%D9%82%D8%A9-instance-%D9%84%D8%B9%D8%AF%D8%AF-%D8%BA%D9%8A%D8%B1-%D9%85%D8%AD%D8%AF%D8%AF/#comment-1418304
بداية اعتذر عن التأخير في الرد
يجب أن يحتوى النموذج الذى تريد تكرار فتحه على كود (أوامر Visual basic) أفتح نافذة الوحدة النمطية النموذج وأكتب أي أوامر مثلاً
Option Explicit
Option Compare Database
اسم النموذج FormName أي أسم مثلاً سعيد
لا يفترض أن تكتب أسم النموذج بل اجعل Access يفعل ذلك
في العبارة
Set frm = New Form_سعيد
بعد كتابة New أضغط زر المسافة من لوحة المفاتيح لتظهر قائمة أختر منها بواسطة أزرار الأسهم في لوحة المفاتيح اسم الإطار المطلوب
ألف شكر لإهتمامك صديقي .. الحل ممتاز و الحمدلله تمت الفائدة