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

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

قام بنشر

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

 

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

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

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

(button)

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

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

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

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

 

 

 

 

 

form.png

form2.png

قام بنشر

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

Forms!form4!Text0 = Me.Text0

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

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

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

Forms!form4!Text0 = Me.Text0

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

Expand  

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

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

  • Like 1
قام بنشر
  في 5‏/10‏/2016 at 16:11, Hadeel93 said:

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

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

Expand  

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

  • Like 1
قام بنشر
  في 5‏/10‏/2016 at 16:32, Hadeel93 said:

نعم مفتوحين 

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

Expand  

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

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

قام بنشر

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

copy txt val.rar

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

  • Like 1
قام بنشر (معدل)
  في 5‏/10‏/2016 at 18:24, ابا جودى said:

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

copy txt val.rarFetching info...

Expand  

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

 

تم تعديل بواسطه رمهان
  • Like 1
قام بنشر
  في 5‏/10‏/2016 at 15:28, Shivan Rekany said:

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

Forms!form4!Text0 = Me.Text0

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

Expand  

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

  • Like 1
قام بنشر
  في 5‏/10‏/2016 at 19:20, ابا جودى said:

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

Expand  

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

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

  • Like 1
قام بنشر
  في 5‏/10‏/2016 at 19:26, رمهان said:

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

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

Expand  

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

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

قام بنشر
  في 5‏/10‏/2016 at 19:26, رمهان said:

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

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

Expand  

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

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


copy.gif

copy txt v.2.rar

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

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

Forms!form4!Text0 = Me.Text0

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

Expand  

 

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

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

Expand  

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

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

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

 

قام بنشر
  في 6‏/10‏/2016 at 04:04, ابا جودى said:

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

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


copy.gif

copy txt v.2.rarFetching info...

Expand  

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

جزاك الله خير

 :signthankspin:

  • Like 1
قام بنشر (معدل)
  في 6‏/10‏/2016 at 08:00, Hadeel93 said:

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

جزاك الله خير

 :signthankspin:

Expand  

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

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

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

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

  في 5‏/10‏/2016 at 18:24, ابا جودى said:

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

copy txt val.rarFetching info...

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

Expand  

شرح الكود على زر امر فى النموذج الذى يحمل اسم   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:
جرت الامور فى مجرى مختلف تمام وبعد ان تشتت افكارى بطرح سؤال الاستاذ رمهان

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

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

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

Expand  

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

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

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

 

Expand  

وتسارعت بداخلى الافكار بالنزعة الرمهانية حتى فتح الله تعالى على بالفكرة فى المرفق رقم 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
قام بنشر
  في 7‏/10‏/2016 at 00:08, محمد ايمن said:

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

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

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

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

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

Expand  

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

قام بنشر
  في 7‏/10‏/2016 at 13:18, Hadeel93 said:

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

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

Expand  

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

قام بنشر
  في 7‏/10‏/2016 at 00:08, محمد ايمن said:

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

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

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

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

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

Expand  

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

قام بنشر (معدل)
  في 7‏/10‏/2016 at 21:47, محمد ايمن said:

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

DB1.rarFetching info...

Expand  

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

بس اسمح لى اللى حضرتك اختزلته من الموديول وجعلت الكود فيه اصغر وضعته فى النموذج وجعلت كود النموذج اكبر :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