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

ربط النموذج بأكثر من جدول وإجراء عملية حسابية

بدأه wardah في 26 نوفمبر 2013 · 11 رد · 1,273 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أسعد الله مساكم بكل خير...

أتمنى تساعدوني ف هذي المشكلة اللي تعبت وأنا أبحث لها عن حل..

عندي نموذج مربوط بمصدر سجلات لكن أريد أربط مربع نص بجدول آخر (وجدت عدة طرق لربط كومبو لكن تكست ما حصلت للأسف) وأريد إجراء عملية ضرب وإظهار النتيجة في مربع نص آخر...

أعتقد الصورة توضح المطلوب..

 

 

post-147146-0-19253200-1385477555_thumb.

#2

ممكن ترفق المشروع لمساعدتك

#3

حياك الله اختي :)

 

1. نفترض ان اسم الحقل AAA  ، وانك تريدين السجل اللي ID يساوي 100 وهو بصيغة رقم ، في الجدول price_tab ، واسم الخانه في النموذج a ، يكون الكود في الحدث On Current :

me.a=dlookup("[AAA]","price_tab","[ID]=" & 100)

بينما نفترض ان اسم الحقل AAA ، وانك تريدين السجل اللي ID يساوي 100 وهو بصيغة نص ، في الجدول price_tab ، واسم الخانه في النموذج a ،يكون الكود في الحدث On Current :

me.a=dlookup("[AAA]","price_tab","[ID]='" & 100 & "'")

والآن عندنا قيمة a ، فنريد نضرب قيمتها بخانة الساعات iHours مثلا ، وتكون قيمتها في الخانة iValue

فنضع في خانة iValue:

post-273849-0-68079100-1385489850.jpg

 

جعفر

#4

شكرا أخي جعفر...

يمكن أنا ما قدرت أوضح طلبي :اللي أريده أن النص -price_text- تكون قيمتة ثابتة غير قابلة للتغير ويقرأها البرنامج من الجدول price_tab  وهي في الواقع القيمة المالية للساعة التدريبية الواحدة التي يتحصل عليها المدرب. ولما أختار عدد الساعات من combo2 يتم ضرب عدد الساعات x القيمة الظاهرة في مربع النص price_text  ليعطي اجمالي المبلغ في مربع النص total

بصراحة جربت الكود لكن لخبطني شوي..

أرفق المثال للتوضيح..والسموحة

#5

شكرا أخي جعفر...

يمكن أنا ما قدرت أوضح طلبي :اللي أريده أن النص -price_text- تكون قيمتة ثابتة غير قابلة للتغير ويقرأها البرنامج من الجدول price_tab  وهي في الواقع القيمة المالية للساعة التدريبية الواحدة التي يتحصل عليها المدرب. ولما أختار عدد الساعات من combo2 يتم ضرب عدد الساعات x القيمة الظاهرة في مربع النص price_text  ليعطي اجمالي المبلغ في مربع النص total

بصراحة جربت الكود لكن لخبطني شوي..

أرفق المثال للتوضيح..والسموحة

#6

شكرا أخي جعفر...

يمكن أنا ما قدرت أوضح طلبي :اللي أريده أن النص -price_text- تكون قيمتة ثابتة غير قابلة للتغير ويقرأها البرنامج من الجدول price_tab  وهي في الواقع القيمة المالية للساعة التدريبية الواحدة التي يتحصل عليها المدرب. ولما أختار عدد الساعات من combo2 يتم ضرب عدد الساعات x القيمة الظاهرة في مربع النص price_text  ليعطي اجمالي المبلغ في مربع النص total

بصراحة جربت الكود لكن لخبطني شوي..

أرفق المثال للتوضيح..والسموحة

   

training1.rar

#7

تفضلي اختي :)

 

الكود اصبح:

Private Sub combo2_AfterUpdate()
    Me.total_text = Me.price_text * Me.combo2
End Sub

Private Sub Form_Load()
    Me.price_text = DLookup("Price", "price_tab", "[ÇáãÚÑÝ]=" & 1)
    Me.total_text = Me.price_text * Me.combo2
End Sub

ولما تغيرين القيمة في combobox ، تتغير القيمة كذلك.

 

جعفر

#8

تفضلي اختي  :)

 

الكود اصبح:

Private Sub combo2_AfterUpdate()
Me.total_text = Me.price_text * Me.combo2
End Sub

Private Sub Form_Load()
Me.price_text = DLookup("Price", "price_tab", "[المعرف]=" & 1)
Me.total_text = Me.price_text * Me.combo2
End Sub

ولما تغيرين القيمة في combobox ، تتغير القيمة كذلك.

 

جعفر

112.training1.accdb.zip

112.training1.accdb.zip

#9

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

لهذا ، دائما اكتبي اسماء الحقول والخانات بالانجليزي ، علشان تقدرين تكتبين وتقرأين الكود صح :)

 

انا علشان اكتب الكود اعلاه ، اضطر ان اكتب اي حروف انجليزية في محل الاسم العربي ، واكمل الكود بالطريقة الصحيحة ، وفي النهاية ابدل الاسم العربي بالحروف الانجليزية ،

عندها ، صحيح ان البرنامج يقرأ الكود بالطريقة الصحيحة ، لكنه ينكتب ملخبط (كما هو اعلاه) ، ولا استطيع تغيير شي فيه ، إلا اذا غيرت الاسم العربي مؤقتا بحروف انجليزيه :(

 

والباب اللي يجيك منه ريح ، سده واستريح :)

 

 

جعفر

#10

ألف شكر أخي جعفر...

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

بس حاولت أطبق الكود  :

Me.price_text = DLookup("Price", "price_tab", "[المعرف]=" & 1)

 

عشان أظهر الأرقام المدنية بعد تحديد اسم الموظف يعني اختار اسم الموظف ويظهر تلقائيا في مربع النص الخاص بالرقم المدني..لكن تظهر رسالة عدم تطابق البيانات..

#12

ألف شكر أخي الكريم..

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…