UserUser2 قام بنشر أكتوبر 3 قام بنشر أكتوبر 3 لدى معادلة قسمه داخل حقل في جدول ولدى مربع نص داخل نموذج عند الضغط علي الزر يعطي الناتج في المربع النصي المشكله لو وضعت كود الزر نص المعادله مباشره يعطي ناتج رقم لو وضعت كود استدعاء نص المعادله من الجدول لا يعطى في المربع النصي ناتج مع العلم ان حقل المعادله متغير وليس ثابت Cal error.accdb
UserUser2 قام بنشر أكتوبر 3 الكاتب قام بنشر أكتوبر 3 (معدل) استاذ @ابوخليل @Foksh @Moosak UP تم تعديل أكتوبر 3 بواسطه UserUser2
ابوخليل قام بنشر أكتوبر 3 قام بنشر أكتوبر 3 لا انصح بهذه الطريقة .. ستسبب لك لاحقا مشاكل برمجية .. وايضا فيها محاذير أمنية .
UserUser2 قام بنشر أكتوبر 3 الكاتب قام بنشر أكتوبر 3 9 دقائق مضت, ابوخليل said: لا انصح بهذه الطريقة .. ستسبب لك لاحقا مشاكل برمجية .. وايضا فيها محاذير أمنية . اقتراح حضرتك ايه ؟
ابوخليل قام بنشر أكتوبر 3 قام بنشر أكتوبر 3 الصح ان الاكواد تكون داخل المحرر ويتم التحكم في الكود بناء على متغير وضح فكرتك وما تريد الوصول اليه .. ستجد الحل المناسب ان شاء الله 1
UserUser2 قام بنشر أكتوبر 3 الكاتب قام بنشر أكتوبر 3 11 دقائق مضت, ابوخليل said: الصح ان الاكواد تكون داخل المحرر ويتم التحكم في الكود بناء على متغير وضح فكرتك وما تريد الوصول اليه .. ستجد الحل المناسب ان شاء الله محتاج المستخدم النهائى يتحكم فى انه يعمل اي معادله لاى اختبار كما يشى بدون الدخول منى فى محرر الاكواد مثال لدينا 3 اختبارات والمعادله المطلوبه هتكون الاختبار الاول / الاختبار الثاني = الاختبار الثالث طبعا النتائج ارقام
ابوخليل قام بنشر أكتوبر 3 قام بنشر أكتوبر 3 بدلا من كتب المعادلة في الجدول اعمل في الجدول عمود بـــــ المعادلة1 / المعادلة2 / المعادلة3 .. الخ .. وعمود بجانبه رقمي يمثل معرف في محرر الفيجوال اعمل فنكشن : اذا قيمة الحقل الفلاني في الجدول الفلاني = 1 نفذ هذا السطر واذا القيمة = 2 نفذ السطر الآخر هذا وهكذا ... لو تعمل 100 سطر اتمنى شرحي واضح ومفهوم 1
UserUser2 قام بنشر أكتوبر 5 الكاتب قام بنشر أكتوبر 5 في 3/10/2024 at 18:28, ابوخليل said: بدلا من كتب المعادلة في الجدول اعمل في الجدول عمود بـــــ المعادلة1 / المعادلة2 / المعادلة3 .. الخ .. وعمود بجانبه رقمي يمثل معرف في محرر الفيجوال اعمل فنكشن : اذا قيمة الحقل الفلاني في الجدول الفلاني = 1 نفذ هذا السطر واذا القيمة = 2 نفذ السطر الآخر هذا وهكذا ... لو تعمل 100 سطر اتمنى شرحي واضح ومفهوم ما هى الاختبارات غير موحده او ثبته ممكن يحذف او يضيف اى اختبار هنتعامل كده ازاى استاذ @ابوخليل
jjafferr قام بنشر أكتوبر 6 قام بنشر أكتوبر 6 السلام عليكم لايزال طلبك غير واضح بالنسبة لي !! رجاء اعطينا مجموعة امثلة (مو اقل من 4-5) ، وخلينا نحلل طلبك .
UserUser2 قام بنشر أكتوبر 6 الكاتب قام بنشر أكتوبر 6 (معدل) وعليكم السلام حضرتك اطلعت على المثال ؟ @jjafferr تم تعديل أكتوبر 6 بواسطه UserUser2
Foksh قام بنشر أكتوبر 6 قام بنشر أكتوبر 6 أخي الكريم مؤيداً لما تفضل به معلمينا ، و وجهة نظر أخرى .. فإذا كانت القيمة المطلوبة هي نتيجة قسمة حقلين مختلفين استناداً إلى شروط معينة ، يمكننا تعديل كودك بحيث يستخدم دالة DLookup للحصول على القيمتين ثم يقسمهما مباشرةً ، ومن ثم يقوم بتقريب الناتج وحفظه في الحقل المطلوب. جرب الكود التالي :- Private Sub Command7_Click() Dim value1 As Variant Dim value2 As Variant Dim result As Variant value1 = DLookup("result", "Table1", "[code] = 33") value2 = DLookup("result", "Table1", "[code] = 36") If Not IsNull(value1) And Not IsNull(value2) And value2 <> 0 Then result = Round(value1 / value2, 3) Me.C = result Else MsgBox "قيم غير صحيحة" End If End Sub جرب وأخبرنا بالنتيجة ..
UserUser2 قام بنشر أكتوبر 6 الكاتب قام بنشر أكتوبر 6 13 دقائق مضت, Foksh said: أخي الكريم مؤيداً لما تفضل به معلمينا ، و وجهة نظر أخرى .. فإذا كانت القيمة المطلوبة هي نتيجة قسمة حقلين مختلفين استناداً إلى شروط معينة ، يمكننا تعديل كودك بحيث يستخدم دالة DLookup للحصول على القيمتين ثم يقسمهما مباشرةً ، ومن ثم يقوم بتقريب الناتج وحفظه في الحقل المطلوب. جرب الكود التالي :- Private Sub Command7_Click() Dim value1 As Variant Dim value2 As Variant Dim result As Variant value1 = DLookup("result", "Table1", "[code] = 33") value2 = DLookup("result", "Table1", "[code] = 36") If Not IsNull(value1) And Not IsNull(value2) And value2 <> 0 Then result = Round(value1 / value2, 3) Me.C = result Else MsgBox "قيم غير صحيحة" End If End Sub جرب وأخبرنا بالنتيجة .. اشكرك على وقتك جزاك الله خيرا من فضلك اطلع على الملف التالى Cal error.accdb
jjafferr قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 9 ساعات مضت, UserUser2 said: حضرتك اطلعت على المثال ؟ نعم، وعليه كتبت ملاحظاتي. والان حسب مرفقك الثاني ، هل هذا اللي تريده: بمعنى انك تريد ان يظهر لك في Table2 هذه النتائج ؟ 1
UserUser2 قام بنشر أكتوبر 7 الكاتب قام بنشر أكتوبر 7 (معدل) 5 ساعات مضت, jjafferr said: نعم، وعليه كتبت ملاحظاتي. والان حسب مرفقك الثاني ، هل هذا اللي تريده: بمعنى انك تريد ان يظهر لك في Table2 هذه النتائج ؟ اشكرك على تعبك استاذنا الفاضل المطلوب العكس المعادله هتتكتب فى جدول Table2 والنتيجه هتظهر فى جدول Table1 فى حقل ال result مثلا لو كتابنا فى المعادله ان الtest المسمى ب Creat النتيجه الخاصه به هتكون ناتج قسمه نتيجه ال urea المسجله فى حقل result / 5 وعند الضغط على cal فى النموذج يظهر الناتج الارقام المكتوبه فى جدول Table1 افتراضيه تم تعديل أكتوبر 7 بواسطه UserUser2
ابو جودي قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 طيب من واقع مرفع حضرتك الاخير يا استاذ @UserUser2 ممكن نمشى خطوة خطوة اولا لما نفتح النموذج حضرتك عاوز تكتب ايه فى مربع النص ؟ وطبعا بناء على ما سوف يتم كتابته فى مربع النص نبتدى نفكر فى الكود على زر الامر خلينا بس نمشى خطوة تلو الاخرى لان لحد دلوقتى محدش قادر يفهم حضرتك عاوز تعمل ايه
UserUser2 قام بنشر أكتوبر 7 الكاتب قام بنشر أكتوبر 7 1 ساعه مضت, ابو جودي said: طيب من واقع مرفع حضرتك الاخير يا استاذ @UserUser2 ممكن نمشى خطوة خطوة اولا لما نفتح النموذج حضرتك عاوز تكتب ايه فى مربع النص ؟ وطبعا بناء على ما سوف يتم كتابته فى مربع النص نبتدى نفكر فى الكود على زر الامر خلينا بس نمشى خطوة تلو الاخرى لان لحد دلوقتى محدش قادر يفهم حضرتك عاوز تعمل ايه يظهر نتيجه المعادله 1
jjafferr قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 هل هذه خطوات العمل: 1- يختار المستخدم احد قيم الحقل test في الجدول Table2 ، وليكن مثلا ASO ، 2- المستخدم يكتب المعادلة التالية في السجل اعلاه: [Bili]/2 3- في حقل result في الجدول Table1 ، تريد ان تظهر نتيجة المعادلة اعلاه ؟ هذا كله سهل ، السؤال هو ، في الخطوة 2 اعلاه ، من اين سيأتي البرنامج بقيمة [Bili] ؟
ابوخليل قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 انا اللي فاهم على صاحب الموضوع هو يريد تنفيذ (تشغيل) كود مكتوب في الجدول لهذا وجهته ان هذه الطريقة ستسبب له لاحقا مشاكل برمجية .. وايضا فيها محاذير أمنية . على كل حال انت صاحب الشان جرب هذا Dim x As String x = DLookup("cal", "test_tbl") Me.C = Round(Eval(x), 3) Cal error2.rar 1 1
ابو جودي قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 انا حاولت اكثر من ساعة احاول افهم هو عاوز ايه ومقدرتش افهم والله على العمود طبعا انا اتفق تماما مع رأى استاذى الجليل و ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل 14 دقائق مضت, ابوخليل said: هذه الطريقة ستسبب له لاحقا مشاكل برمجية .. وايضا فيها محاذير أمنية ولأنه لم نفهم الية العمل او فكرة صاحب المسألة هذه فكرتى وظيفة ثغنونه وبنت حلال تعمل كل ده Function GetDLookupResult(code1 As Long, code2 As Long) As Double Dim result1 As Variant Dim result2 As Variant ' Retrieve the value from Table1 based on the passed values result1 = DLookup("result", "Table1", "[code] = " & code1) result2 = DLookup("result", "Table1", "[code] = " & code2) ' Check if the values are not null to avoid errors If IsNull(result1) Or IsNull(result2) Then GetDLookupResult = 0 ' Or return a blank value or an error message Exit Function End If ' Calculate the final result GetDLookupResult = result1 / result2 End Function مرر القيم التى تريد اليها بالشكل التالى من خلال زر الامر Dim finalResult As Double finalResult = GetDLookupResult(33, 36) Me.C = finalResult
ابو جودي قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 طيب وبعد التحليل للمرفق ومن غير اى اكواد ممكن جملة الاستعلام دى تحل لك كل مشاكلك SELECT Table1.code, Table1.test, Table1.result, Table2.Cal, Nz([result], 0)/Nz([Cal], 1) AS FinalCalc FROM Table1 INNER JOIN Table2 ON Table1.code = Table2.code; وما اخدت بالى من موضوع التقريب لو اردنا استخدام التقريب تكون جملة الاستعلام بالشكل التالى SELECT Table1.code, Table1.test, Table1.result, Table2.Cal, IIf(Nz([result], 0) <> 0 And Nz([Cal], 1) <> 0, Round(Nz([result], 0) / Nz([Cal], 1), 3), Nz([result], 0) / Nz([Cal], 1)) AS FinalCalc FROM Table1 INNER JOIN Table2 ON Table1.code = Table2.code; وهذا هو المرفق انظر الى الاستعلام مباشرة وغير القيم فى الحقل Cal تظهر لك النتيجة المرجوة مباشرة فى الحقل FinalCalc دا اذا كنت قدرت افهم انت عاوز ايه Cal error.accdb 1
UserUser2 قام بنشر أكتوبر 7 الكاتب قام بنشر أكتوبر 7 منذ ساعه, jjafferr said: لسؤال هو ، في الخطوة 2 اعلاه ، من اين سيأتي البرنامج بقيمة [Bili] ؟ من جدول Table1 هتكون مدخله مسبقا جزاك الله خيرا استاذ محمد @ابو جودي وشاكر لتعبك ومجهودك ووقتك
UserUser2 قام بنشر أكتوبر 7 الكاتب قام بنشر أكتوبر 7 منذ ساعه, ابوخليل said: انا اللي فاهم على صاحب الموضوع هو يريد تنفيذ (تشغيل) كود مكتوب في الجدول لهذا وجهته ان هذه الطريقة ستسبب له لاحقا مشاكل برمجية .. وايضا فيها محاذير أمنية . على كل حال انت صاحب الشان جرب هذا Dim x As String x = DLookup("cal", "test_tbl") Me.C = Round(Eval(x), 3) Cal error2.rar 28.21 kB · 2 downloads جزاك الله خيرا استاذنا @ابوخليل وشاكر لتعبك ومجهودك ووقتك منذ ساعه, jjafferr said: هل هذه خطوات العمل: 1- يختار المستخدم احد قيم الحقل test في الجدول Table2 ، وليكن مثلا ASO ، 2- المستخدم يكتب المعادلة التالية في السجل اعلاه: [Bili]/2 3- في حقل result في الجدول Table1 ، تريد ان تظهر نتيجة المعادلة اعلاه ؟ هذا كله سهل ، السؤال هو ، في الخطوة 2 اعلاه ، من اين سيأتي البرنامج بقيمة [Bili] ؟ من جدول Table1 هتكون مدخله مسبقا جزاك الله خيرا استاذنا @jjafferr فى انتظار حضرتك
jjafferr قام بنشر أكتوبر 7 قام بنشر أكتوبر 7 19 دقائق مضت, UserUser2 said: من جدول Table1 هتكون مدخله مسبقا جزاك الله خيرا استاذ محمد @ابو جودي وشاكر لتعبك ومجهودك ووقتك هل هذه خطوات العمل: 1- يختار المستخدم احد قيم الحقل test في الجدول Table2 ، وليكن مثلا ASO ، 2- المستخدم يكتب المعادلة التالية في السجل اعلاه: [Bili]/2 3- البرنامج يأخذ قيمة السجل [Bili] من الحقل [result] في الجدول Table1 ، ويضعها في المعادلة اعلاه ، 4- ونتيجة المعادلة يضعها في سجل [ASO] من الحقل [result] في الجدول Table1 ، يعني قيمة [result] لهذا السجل راح تتغير قيمتها حسب نتيجة المعادلة اعلاه ؟ هل هذا صحيح ؟
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.