اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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


إذهب إلى أفضل إجابة Solved by Mohamed Khaled Galal,

الردود الموصى بها

السلام عليكم

اخواني الكرام اريد عند الضغط على زر اضافه سريال يقوم بفتح نموذج رقم (2) وكتابه رقم 1 الموجوده في النموذج رقم (1) في خانه رقم الأذن في النموذج رقم (2) 

نموذج رقم (1)

image.png.5aa7d475da31e630796201808efe424c.png

 

نموذج رقم (2)

Screenshot2023-08-23135744.png.b513ee44fa4d4e467bbc2e6d28044951.png

 

اسم النموذج رقم (1)

image.png.f1f3ed6f464c4f5fa6ba78032c94748b.png

 

اسم النموذج رقم (2)

image.png.5dd16b9108e734fe212e4ade302af70b.png

 

مرفق قاعده البيانات برجاء ربط قاعده البيانات بالجداول.

https://www.mediafire.com/file/pm9kiux3ir4s0yg/QRSystemManagerFinal.rar/file

رابط هذا التعليق
شارك

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

ايضا يكون المثال مرجعا سهلا  لمن يبحث عن مثل هذا الموضوع

تم عمل مثال بسيط لكيفية تطبيق الفكرة

القيمة في النموذج الاول اعلنا عنها عند نقر الزر وقبل فتح النموذج 2

الان عند فتح النموذج الثاني  وعند حدث التحميل يتم ادراج القيمة بعيدا عن النموذج الأول

على افتراض ان البعض يرغب في قفل النموذج الاول بمجرد فتح النموذج الثاني

db1.rar

  • Thanks 1
رابط هذا التعليق
شارك

35 دقائق مضت, ابوخليل said:

القيمة في النموذج الاول اعلنا عنها عند نقر الزر وقبل فتح النموذج 2

مشاركة مع استاذنا

طريقة اخرى بدون استخدام متغير عام

تحميل القيمة مباشرة في امر فتح النموذج

باستخدام الامر التالي

DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , ID

وفي النموذج الثاني في حدث عند التحميل نضع الامر

Me.ID = Me.OpenArgs

اخير في تعديل الاستاذ الكبير وكذلك في تعديل اخونا شايب

يفضل ان تضع امر معالجة الخطأ في حالة كون حقل id في النموذج الاول فارغ

والله الموفق

  • Thanks 1
رابط هذا التعليق
شارك

12 ساعات مضت, شايب said:

مشاركة مع استاذنا

طريقة اخرى بدون استخدام متغير عام

تحميل القيمة مباشرة في امر فتح النموذج

باستخدام الامر التالي

DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , ID

وفي النموذج الثاني في حدث عند التحميل نضع الامر

Me.ID = Me.OpenArgs

اخير في تعديل الاستاذ الكبير وكذلك في تعديل اخونا شايب

يفضل ان تضع امر معالجة الخطأ في حالة كون حقل id في النموذج الاول فارغ

والله الموفق

شكرا لك اخي هل يمكن ان اضيف حقل اخر مع ID  بحيث عند فتح النموذج الثاني يقوم بملئ حقلين

12 ساعات مضت, شايب said:

مشاركة مع استاذنا

طريقة اخرى بدون استخدام متغير عام

تحميل القيمة مباشرة في امر فتح النموذج

باستخدام الامر التالي

DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , ID

وفي النموذج الثاني في حدث عند التحميل نضع الامر

Me.ID = Me.OpenArgs

اخير في تعديل الاستاذ الكبير وكذلك في تعديل اخونا شايب

يفضل ان تضع امر معالجة الخطأ في حالة كون حقل id في النموذج الاول فارغ

والله الموفق

متشكر جدا اخي العزيز

رابط هذا التعليق
شارك

26 دقائق مضت, Mohamed Khaled Galal said:

شكرا لك اخي هل يمكن ان اضيف حقل اخر مع ID  بحيث عند فتح النموذج الثاني يقوم بملئ حقلين

نعم ممكن حقلين وثلاثة وعشرة

وهذا الامر للطريقة التي اشار اليها الاخ شايب وايضا لطريقة الاستاذ الكبير

ولكن الاخ شايب سوف يشرح ذلك في الطريقة التي اشار اليها

في زر الامر نضع الامر التالي

DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , [ID] & "|" & [Discount]

هنا لدينا حقلي المعرف والحسم وفصلنا بينهما بـ  & "|" &

والهدف من ذلك ان نستخدم دالة التقسيم في النموذج الثاني لفصل قيمة المعرف عن قيمة الحسم

ثم في نموذج الوجهة اي النموذج الثاني وضعنا الامر التالي

Dim a As Variant
a = Split(Me.OpenArgs, "|")
Me.ID = a(0)
Me.Discount = a(1)

الملف مرفق

اخونا الفاضل شايب

 

db1.rar

  • Thanks 1
رابط هذا التعليق
شارك

  • أفضل إجابة
14 دقائق مضت, شايب said:

نعم ممكن حقلين وثلاثة وعشرة

وهذا الامر للطريقة التي اشار اليها الاخ شايب وايضا لطريقة الاستاذ الكبير

ولكن الاخ شايب سوف يشرح ذلك في الطريقة التي اشار اليها

في زر الامر نضع الامر التالي

DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , [ID] & "|" & [Discount]

هنا لدينا حقلي المعرف والحسم وفصلنا بينهما بـ  & "|" &

والهدف من ذلك ان نستخدم دالة التقسيم في النموذج الثاني لفصل قيمة المعرف عن قيمة الحسم

ثم في نموذج الوجهة اي النموذج الثاني وضعنا الامر التالي

Dim a As Variant
a = Split(Me.OpenArgs, "|")
Me.ID = a(0)
Me.Discount = a(1)

الملف مرفق

اخونا الفاضل شايب

 

db1.rar 42.02 kB · 1 download

متشكر جدا لك اخي الفاضل

رابط هذا التعليق
شارك

اما اذا اردنا استخدام متغير كما اشار الاستاذ الكبير

في الوحدة النمطية نعدل في المتغير الى

Public myNumId(1) As Variant

غيرنا المتغير ليكون يقبل قيمتين

وغيرنا نوعة من رقم الى غير محدد ليقبل اي نوع من الحقول

ثم في النموذج الاول نضع الامر

myNumId(0) = Me.ID
myNumId(1) = Me.Discount
DoCmd.OpenForm "frm2", acNormal

وفي النموذج الثاني في حدث عند التحميل نضع

Me.ID = myNumId(0)
Me.Discount = myNumId(1)

لم نحتاج الى دالة التقسيم

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

الملف مرفق

 

 

db1(2).rar

  • Thanks 1
رابط هذا التعليق
شارك

22 دقائق مضت, شايب said:

اما اذا اردنا استخدام متغير كما اشار الاستاذ الكبير

 

22 دقائق مضت, شايب said:

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

 

رفع الله قدرك وأعلى شأنك

كبير في العمر نعم  ... ولكن نادوهم باحب الاسماء اليهم .. وانا احب واعشق .. ابوخليل .. كعشقك للشايب :yes:

رابط هذا التعليق
شارك

5 دقائق مضت, ابوخليل said:

كبير في العمر نعم  ... ولكن نادوهم باحب الاسماء اليهم .. وانا احب واعشق .. ابوخليل .. كعشقك للشايب :yes:

والله يا اباخليل اني احبك في الله

وانت استاذي اولا واخرا

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information