الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ] استفسار بخصوص فتح نموذج جاهز للتعديل أو الإضافة من نموذج آخر

بدأه اسم مخالف 51 في 24 ديسمبر 2008 · 11 رد · 1,327 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لأخوة الاعضاء مرحبا

بداية انا متأسف لأني لم أكن أعلم أن أكثر من سؤال ممنوع في ذات المشاركة ولسوء حظي أن الإجابة قدة حذفت من قبل المشرفين وهذا السؤال مرة أخرى برجاء قبول اعتذاري.

هذا هو الشكل العام للبرنامج حسب الاستفسار عن التنقل بين النماذج

النموذج الرئيسي هو Person_Info من خلاله يستطيع الشخص اضافة اجتماع من خلال Person_Come واذا اراد أن ينتقل من Person _Come الى نموذج Person_violation فيجب أن ينقله الى صفحة العقوبات واذا كانت هنالك عقوبة مخزنة أصلاً من خلال الايديه والسنة مع بعضهما يفتح له العقوبة المخزنة والا فانه يفتح النموذج للاضافة ويكون الايديه والسنه قد ادخلا للنموذج (أي كأن المستخدم يعدل على السجل الحالي وليس كأنه يضيف)

ومشكورين مقدماً

Vi2.rar

بســم الله الـرحمــن الرحيــم

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

هذه صفحتي الخاصة

http://s4.ae.bitefight.org/c.php?uid=97932

#2

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

تم التعديل

Vi2.rar

ناصر المصاروة

شبكة سوارقريباً

Sewar

#3

اخي ناصر مصاروة مشكور

لكن المطلوب هو انه عند الانتقال من نموج المعلومات INFO لنموذج COME يكون قد فتح النموذج على نفس الشخص باستخدام رقمه ID وعند الانتقال من COME لنموذج VIOLATIN فانه يفتح سجل الشخص باستخدام السنة وال ID وما على المستخدم سوى التعديل فقط (أي انه في حالة ان السجل موجود مسبقاً فإنه يقوم بعرضه واذا السجل لم يكن موجود فإنه يقوم بإضافة ID, YEAR في جدول VIOLATIN ويفتح النموذج ليقوم المستخدم باضافة بقاي المعلومات وهي CASE, PLACE ) كل هذا يمكن ان يفعل بواسطة DLOOKUP لكنها لا تاخذ قيمتين مع انه يقال انها تأخذ ذلك لكنه لم تفلح معي حيث انه يجب ان تكون الصيغة من خلالها وتأخذ ال ID للفحص من جدول VOILATION ويكون الشرط WHERE(VIOLATION.ID = COME.ID AND VIOLATION.YAER=COME.YEAR) هذه الصيغة لكن كيف يمكن استغلالها

ومشكور مرة أخرى

بســم الله الـرحمــن الرحيــم

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

هذه صفحتي الخاصة

http://s4.ae.bitefight.org/c.php?uid=97932

#4

اخي هل تريد الحل باستخدام الدالة "DLOOKUP " تحديداً؟؟

ام تريد حل للمشكلة التي تواجهها

انا شخصياً لا استخدم هذه الدالة بل استعيض عنها ببعض الكودات

ناصر المصاروة

شبكة سوارقريباً

Sewar

#5

والله يا اخي انا اريد الحل لأن هذه الدالة لم تعطي الاجابة

فقط الحل ومشكور على التفاعل مع مشكلتي وفقك الله

بســم الله الـرحمــن الرحيــم

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

هذه صفحتي الخاصة

http://s4.ae.bitefight.org/c.php?uid=97932

#6

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

هناك طرق كثيرة لانجاز المطلوب هذا احدها

Vi2.rar

ناصر المصاروة

شبكة سوارقريباً

Sewar

#7

مشكور اخي ناصر

مثل ايش كمان طرق بنقدر نستخدمها لذلك

انا فحصت انت بنيت من خلال جملة insert

هو الاصل تكون الجملة اولاً select بس كيف بقدر انا اوخذ الفحص من خلال النموذج لجملة select واشوف انو في record مخزن من قبل ولا لأ من خلال متغير واذا في فنعمل اظهار لهذا السجل واذا ما في نعمل جملتك insert ومن ثم نعمل اظهار لها على ان المستخدم قد وصل لها

ومشكور على جهدك وتعبك معي وان شاء الله نقدر انسدك ولو جزء من جميلك

تم تعديل هذه المشاركة بواسطة kiss90 في 25 ديسمبر 2008 في 17:39

بســم الله الـرحمــن الرحيــم

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

هذه صفحتي الخاصة

http://s4.ae.bitefight.org/c.php?uid=97932

#8
kiss90 كتب:
مشكور اخي ناصر

مثل ايش كمان طرق بنقدر نستخدمها لذلك

انا فحصت انت بنيت من خلال جملة insert

هو الاصل تكون الجملة اولاً select بس كيف بقدر انا اوخذ الفحص من خلال النموذج لجملة select واشوف انو في record مخزن من قبل ولا لأ من خلال متغير واذا في فنعمل اظهار لهذا السجل واذا ما في نعمل جملتك insert ومن ثم نعمل اظهار لها على ان المستخدم قد وصل لها

ومشكور على جهدك وتعبك معي وان شاء الله نقدر انسدك ولو جزء من جميلك

اولاً راجع جملة ال"Insert" التي استخدمتها فهي تقوم بالحاق البيانات ضمن معيار ثابت وهو (عدم وجود بيانات لنفس الموظف في نفس العام) وبالتالي فما الحاجة لاستخدام جملة "select"

اما عن الطرق الاخرى فمنها انه يمكنك وضع الكود التالي في النموذج الرئيسي لادراج البيانات في النموذج المنبثق

Private Sub Command8_Click()
 Dim chldfrm

	DoCmd.OpenForm "Person_Come"
	chldfrm = Forms![Person_Come]
	If IsNull(chldfrm![Person_Id]) Then
		chldfrm![Person_Id] = Me![Person_Id]
		chldfrm![Person_Year] = Year(Now())
	End If


End Sub

كذلك يمكنك تنفيذ نفس العملية بطريقة عكسية بوضع هذا الكود في النموذج المنبثق

Private Sub Form_Open(Cancel As Integer)
	Dim fthrfrm
	fthrfrm = Forms![Person_info]
	Me.Requery
	If IsNull(Me![Person_Id]) Then
		Me![Person_Id] = fthrfrm![Person_Id]
		Me![Person_Year] = Year(Now())
	End If
End Sub

بالتوفيق

ناصر المصاروة

شبكة سوارقريباً

Sewar

#9

مشكور اخي ناصر وغلبتك كثير معاي

وشكرا لك كثيراً

بســم الله الـرحمــن الرحيــم

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

هذه صفحتي الخاصة

http://s4.ae.bitefight.org/c.php?uid=97932

#10

حياك الله وبالتوفيق

شبكة سوارقريباً

Sewar

#11

مرحباً جميعاً

هذه الإجابة كما أردتها حسب السؤال وشكراً للأخ ناصر مصاروة على مساعدته

أرفع النسخة النهائية حسب ما فعلتها ليستفيد منها الجميع

وشكراً للجميع

Final.zip

بســم الله الـرحمــن الرحيــم

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

هذه صفحتي الخاصة

http://s4.ae.bitefight.org/c.php?uid=97932

#12

جزاك الله خيرا أخى ناصر

وانت اخى اسم مخالف 51

لمشاركتنا المرفق النهائى للإطلاع والإفاده

تمنياتى لكم بالتوفيق

مواضيع مشابهة