اذهب الي المحتوي
أوفيسنا

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

قام بنشر

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

 

انا عندي نموذجين form1 ,form2

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

وبالاخير فيه زر

(button)

ينقله الى النموذج الثاني 

 احتاج طريقة او كود تنقل نفس البيانات المدخله من المستخدم في مربع النص من النموذج الاول الى الثاني عند الضغط على الزر

اتمنى تفيدوني وشكرا...

هذه صور للتوضيح:

 

 

 

 

 

form.png

form2.png

قام بنشر

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

Forms!form4!Text0 = Me.Text0

فورم!اسم الفورم ! اسم الحقل = اي حقل تريد يأخذ منه نصه
مع التقدير

  • Like 2
قام بنشر
35 minutes ago, Shivan Rekany said:

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


Forms!form4!Text0 = Me.Text0

فورم!اسم الفورم ! اسم الحقل = اي حقل تريد يأخذ منه نصه
مع التقدير

جربت لكن مافي نتيجه.. :( 

وانا اسفه على تكرار الموضوع كانت في مشكله فالنت

  • Like 1
قام بنشر
1 دقيقه مضت, Hadeel93 said:

جربت لكن مافي نتيجه.. :( 

وانا اسفه على تكرار الموضوع كانت في مشكله فالنت

هل النموذجين مفوحين ولا لا ؟
لازم بيكون النوزجين مفتوحين
 

  • Like 1
قام بنشر
18 minutes ago, Shivan Rekany said:

هل النموذجين مفوحين ولا لا ؟
لازم بيكون النوزجين مفتوحين
 

نعم مفتوحين 

لسا المشكلة موجوده ماتتنقل البيانات

  • Like 1
قام بنشر
منذ ساعه, Hadeel93 said:

نعم مفتوحين 

لسا المشكلة موجوده ماتتنقل البيانات

ممكن مرفق لو تكرمتى

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

قام بنشر

دى صورة من واقع تجربة من داخل القاعدة المرفقة
تم نسخ القيمة مع الاغلاق والفتح والتبديل بين الفورم :wink2:
0002222.gif

copy txt val.rar

للعلم
انا لم اربط مربع النص باى مصدر بيانات بيانات
وللعلم ايضا
لو اننا نريد عند فتح النموذج الثانى اضافة سجل جديد سوف يتم تغير طفيف 
انا فقط كنت اقوم بالتجربة للوصول الى النتيجة المرجوة 
وبفضل الله تعالى اعتقد تلك النتيجة مرضية ووافية وكافية 
فقط يتم التعديل حتى يتماشى مع الية عمل قاعدة البيانات
ممكن اشرح كل شئ ومستعد للنقاش ان شاء الله تعالى

  • Like 1
قام بنشر (معدل)
39 دقائق مضت, ابا جودى said:

دى صورة من واقع تجربة من داخل القاعدة المرفقة
تم نسخ القيمة مع الاغلاق والفتح والتبديل بين الفورم :wink2:
0002222.gif

copy txt val.rar

جمال الفكره في انه لايشترط النموذجين مفتوحين

 

تم تعديل بواسطه رمهان
  • Like 1
قام بنشر
3 ساعات مضت, Shivan Rekany said:

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


Forms!form4!Text0 = Me.Text0

فورم!اسم الفورم ! اسم الحقل = اي حقل تريد يأخذ منه نصه
مع التقدير

تمت التجربة والطريقة ناجحة

  • Like 1
قام بنشر
15 دقائق مضت, رمهان said:

جمال الفكره في انه لايشترط النموذجين مفتوحين

 

ما هو دى تقدر تقول عليها لمسة رمهانية :wink2:

  • Like 1
قام بنشر
4 دقائق مضت, ابا جودى said:

ما هو دى تقدر تقول عليها لمسة رمهانية :wink2:

بس تعال ياباشا 

لو عايزين ننقل كل العناصر !!:rol:

  • Like 1
قام بنشر
4 دقائق مضت, رمهان said:

بس تعال ياباشا 

لو عايزين ننقل كل العناصر !!:rol:

انا قلت لك ايه 
ما هو دى تقدر تقول عليها لمسة رمهانية 
لكنها مش لمسة رمهانية ولا حاجة بس اللى بيحب حد بيحاول يفكر زيه وبيتأثر بيه

اهو السؤال ده بقه هو اللمسة الرمهانية فعلا
افكر شوية وممكن واحاول ارد على حضرتك

قام بنشر
8 ساعات مضت, رمهان said:

بس تعال ياباشا 

لو عايزين ننقل كل العناصر !!:rol:

عندما يكون المعلم رمهانى:fff::wub:
حتما يحاول ويجتهد التلميذ ان تكون النتيجة رمهانية :wink2:

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


copy.gif

copy txt v.2.rar

  • Like 1
قام بنشر
في 10/5/2016 at 08:28, Shivan Rekany said:

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


Forms!form4!Text0 = Me.Text0

فورم!اسم الفورم ! اسم الحقل = اي حقل تريد يأخذ منه نصه
مع التقدير

 

في 10/5/2016 at 12:19, رمهان said:

تمت التجربة والطريقة ناجحة

للاسف الطريقة لم تنجح معى بهذا الشكل أو قد يكون لاختلاف إصدار الأوفيس

ولكن قمت بتعديل الكود الى على النحو التالى 
[Forms]![frm4]![Text0] = [Forms]![frm3]![Text0]

كل الشكر للاستاذ الفاضل  Shivan Rekan
كل الشكر والتقدير والامتنان والعرفان للاستاذ الجليل والمعلم القدير صاحب اللمسات الرمهانية الاستاذ رمهان
:fff:

 

قام بنشر
3 hours ago, ابا جودى said:

عندما يكون المعلم رمهانى:fff::wub:
حتما يحاول ويجتهد التلميذ ان تكون النتيجة رمهانية :wink2:

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


copy.gif

copy txt v.2.rar

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

جزاك الله خير

 :signthankspin:

  • Like 1
قام بنشر (معدل)
منذ ساعه, Hadeel93 said:

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

جزاك الله خير

 :signthankspin:

جزانا الله واياكم خير الجزاء

الحمد لله الذى هدانا وما كنا لنهتدى لولا ان هدانا الله عزوجل

ثانيا كل الشكر والامتنان لاستاذى القدير ومعلمى الجليل الاستاذ رمهان
ــــــــــــــــــــــــــــــــــــــــــــــ
وقت الشرح
بسم الله الرحمن الرحيم

انا فى اول الفكرة اتعاملت مع الموضوع بحيلة النسخ واللصق
وسوف اشرح فكرة الحيلة
الموجودة فى المشاركة

14 ساعات مضت, ابا جودى said:

دى صورة من واقع تجربة من داخل القاعدة المرفقة
تم نسخ القيمة مع الاغلاق والفتح والتبديل بين الفورم :wink2:
0002222.gif

copy txt val.rar

للعلم
انا لم اربط مربع النص باى مصدر بيانات بيانات
وللعلم ايضا
لو اننا نريد عند فتح النموذج الثانى اضافة سجل جديد سوف يتم تغير طفيف 
انا فقط كنت اقوم بالتجربة للوصول الى النتيجة المرجوة 
وبفضل الله تعالى اعتقد تلك النتيجة مرضية ووافية وكافية 
فقط يتم التعديل حتى يتماشى مع الية عمل قاعدة البيانات
ممكن اشرح كل شئ ومستعد للنقاش ان شاء الله تعالى

شرح الكود على زر امر فى النموذج الذى يحمل اسم   form3

Me.txt_no.SetFocus

هنا يقوم بعمل تركيز على مربع النص باسم : txt_no
وهذا التركيز يحدد كل القيم داخل مربع النص
ثم

DoCmd.RunCommand acCmdCopy

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

Dim stFrmName As String
    Dim stLink As String
    stFrmName = "form4"
    DoCmd.Close acForm, "form3"
    DoCmd.OpenForm stFrmName, , , stLink

هو اغلاق النموذج الحالى ثم فتح النموذج الجديد
ولاكمال العمليه وذلك بلصق القيم فى النموذج الجديد والذى يحمل اسم   form4   استخدمت الكود الاتى
على مربع النص المراد لصق القييم فيه مربع النص باسم  Text0
الحدث عن التركيز على مربع النص

DoCmd.RunCommand acCmdPaste

وهذ الكود يقوم بخطوة لصق ما قمنا بنسخه سابقا
ثم باقى الكود
 

Text2.SetFocus

نقل التركيز الى المربع الذى يليه ...
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

وبعد الحوار مع استاذى الجليل ومعلمى القدير الاستاذ رمهان  :fff:
جرت الامور فى مجرى مختلف تمام وبعد ان تشتت افكارى بطرح سؤال الاستاذ رمهان

13 ساعات مضت, رمهان said:

بس تعال ياباشا 

لو عايزين ننقل كل العناصر !!:rol:

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

13 ساعات مضت, رمهان said:

جمال الفكره في انه لايشترط النموذجين مفتوحين

 

وتسارعت بداخلى الافكار بالنزعة الرمهانية حتى فتح الله تعالى على بالفكرة فى المرفق رقم 2
copy txt v.2.rar
وقت الشرح
قمت بعمل موديول باسم"mod_copey_txt"
وللامانة العلمية وإحقاقا للحق نقلت الموديول من احد الامثلة من مكتبتى وقمت بإختزال الكود حتى صار على النحو التالى

Public Function when_Open_form(ByVal strFormName As String) As Boolean

    Const conDesignView = 0
    Const conObjStateClosed = 0

    when_Open_form = False
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> _
            conObjStateClosed Then

        If Forms(strFormName).CurrentView <> conDesignView Then
            when_Open_form = True
        End If
    End If
End Function

وهذا الموديول يجعل قيم الحقول متساوية لبعضها طبقا لاسم النموذج المصدر والنموذج الهدف كما سيلى فى الشرح ولكن دون الابقاء على النموذجين مفتوحين ولا حتى فتح نموذج بشكل مخفى

الية العمل داخل القاعدة 
فى النموذج الاول باسم    frm1
تم وضع كود برمجى على زر الامر وشرحه تفصيلا كالاتى

DoCmd.OpenForm "frm2"

وهذا السطر نريد منه فتح النموذج الثانى باسم   frm2
ثم

If when_Open_form("frm2") Then

وهنا فى هذا السطر القاعدة if  ثم قمت باستدعاء الموديول والذى من خصائصه كما سبق تنفيذ نسخ ولصق القيم من الحقول من النموذج المصدر  frm1  الى النموذج الهدف  frm2  وذلك بناء على قيم الحقول بين النموذجين فى الكود التالى بالاسطر القادمة

[Forms]![frm2]![Text0] = [Forms]![frm1]![Text0]
[Forms]![frm2]![Text2] = [Forms]![frm1]![Text2]
[Forms]![frm2]![Text4] = [Forms]![frm1]![Text4]
Else
End If

وبعد ذلك باقى الكود اغلاق النموذج الحالى"النموذج المصدر"  frm1
ونفس الفكرة بين النموذجين الثالث والرابع
الا اننى حددت مرع واحد فقط لنسخ القيم منه من نموذج المصدر الى نموذج الهدف
الا اننى ذت فى نموذج الهدف النموذج الذى يحمل اسم  frm4
هذا الكود فى حدث عند الفتح

Private Sub Form_Open(Cancel As Integer)
Text2.SetFocus
End Sub

وبما ان قيمة المربع الاول اصبحت موجوده بناء على القيمة من نموذج المصدر لا اريد التركيز عليه عند الفتح فوضعت هذا الكود لنقل التركيز الى المربع التالى

فكرة خطرت على بالى اثناء الشرح
ممكن استخدام قاعدة if لو ان المربع الاول لا يحتوى على قيم يتم وضع التركيز عليه عند الفتح لو اردنا ذلك ☺
بالتوفيق
 

تم تعديل بواسطه ابا جودى
  • Like 2
قام بنشر

اخي ابا جودي تحية طيبة

بامكانك تبسيط الكود اكثر من ذلك بكثير

انشء وحدة نمطية و ضع بها متغيرات تخزن القيم المراد نسخها

ثم عند الضغط على الزر نفتح الفورم المطلوب و ننسخ قيم المتغيرات الى مربعات النص المطلوبة

اليس هذا اسهل بكثير !!!

  • Like 1
قام بنشر
13 ساعات مضت, محمد ايمن said:

اخي ابا جودي تحية طيبة

بامكانك تبسيط الكود اكثر من ذلك بكثير

انشء وحدة نمطية و ضع بها متغيرات تخزن القيم المراد نسخها

ثم عند الضغط على الزر نفتح الفورم المطلوب و ننسخ قيم المتغيرات الى مربعات النص المطلوبة

اليس هذا اسهل بكثير !!!

اولا جزاكم الله خيرا 
ثانيا بصراحة انا مش قادر افهم انا مجرد هاوى للاكس وام ادرس فقط اتعلم من اخطائى وارشاد الاساتذه فى المنتدى
ممكن حضرتك لو تكرمت ترفق مثال علشان اقدر افهم اعتقد حيكون اسهل بكثير من الكلام :wink2:

قام بنشر
3 دقائق مضت, Hadeel93 said:

شكرا جزيلا ابا جودى على الشرح المفصل :signthankspin:

تم التطبيق بنجاح 

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

قام بنشر
20 ساعات مضت, محمد ايمن said:

اخي ابا جودي تحية طيبة

بامكانك تبسيط الكود اكثر من ذلك بكثير

انشء وحدة نمطية و ضع بها متغيرات تخزن القيم المراد نسخها

ثم عند الضغط على الزر نفتح الفورم المطلوب و ننسخ قيم المتغيرات الى مربعات النص المطلوبة

اليس هذا اسهل بكثير !!!

لازلت انتظر المرفق استاذنا الحبيب:fff:

قام بنشر (معدل)
منذ ساعه, محمد ايمن said:

تفضل اخي الكريم

DB1.rar

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

بس اسمح لى اللى حضرتك اختزلته من الموديول وجعلت الكود فيه اصغر وضعته فى النموذج وجعلت كود النموذج اكبر :wink2:

هذا  لو جعلنا المقياس كبر وصغر الكود وعدد الاسطر فى الاكواد
ولكن حقا لا اعرف ايهم افضل من الناحية العملية او المرونه :rol:
ولكن يكفينى انى تعلمت من حضرتك شئ لم اكن اعرفه او بالاحرى سوف اتعلم بعد البحث عن الاكواد 

كل الشكر والتقدير:fff:

تم تعديل بواسطه ابا جودى

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