ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 قام بنشر ديسمبر 26, 2017 اخواني الاعزاء ماذا ينقص هذا الكود اريد تصحيحه او ما يماثله ولكم جزيل الشكر DoCmd.RunSQL ("UPDATE [Hrakatsanf] SET [Hrakatsanf].[Alkmiah]=[Alkmiah]-[forms]![frm_Recall_sales]![SubSales]![Alkmiah].[value]" _ & " WHERE ((([Hrakatsanf].Rajmsanf)=[forms]![frm_Recall_sales]![SubSales]![Rajmsanf]));" _ & " WHERE ((([Hrakatsanf].Rjmfatwra)=[forms]![frm_Recall_sales]![frm_mr]![Rjmfatwra]));")
ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 الكاتب قام بنشر ديسمبر 26, 2017 حاولت بهذا ولم افلح DoCmd.RunSQL "UPDATE [Hrakatsanf] SET [Hrakatsanf].[Alkmiah]=[Alkmiah]-[forms]![frm_Recall_sales]![SubSales]![Alkmiah].[value]" _ & " WHERE ((([Hrakatsanf].Rjmfatwra)=[forms]![frm_Recall_sales]![frm_mr]![Rjmfatwra]));" _
ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 الكاتب قام بنشر ديسمبر 26, 2017 اتمنى من الاخ جعفر jjafferr يشرح لي الكود ويفهمي فين الخطاء
jjafferr قام بنشر ديسمبر 26, 2017 قام بنشر ديسمبر 26, 2017 وعليكم السلام اخوي ابو ياسين لا تعمل جملة SQL في الكود ، اعمل العكس ، اعمل الاستعلام اللي تريده ، ثم حوله الى SQL ، ثم اخذه الى الكود واعمل التعديل. ادخل الكود عن طريق Ctrl + G (ولا تدخله بطريقة اخرى) ، والذي سيعطيك شاشة الكود ، بالاضافة الى شاشة صغيرة في الاسفل ، والتي سنأخذ منها SQL لتجربيته في الاستعلام. ولما تأخذ SQL الاستعلام الى الكود ، فككه الى اسطر ، واربط كل سطر مع اللي قبله (لاحظ الكود التالي) ، واهم شيء تعمله هو ان تكتب جملة debug.print mySQL بعد نهاية عمل جملة الـ SQL وقبل ان تنفذ الامر docmd.runsql ، هذا الامر سوف يعطيك في اسفل شاشة الكود ، سيعطيك جملة الـ SQL بعد اضافة القيم فيها ، عندها تستطيع ان تنسخ هذه الجملة من اسفل شاشة الكود ، وتذهب الى الاستعلام وتلصقه هناك ، وتشغل الاستعلام ، واذا اعطاك خطأ ، فإصلح الاستعلام ، ثم اخذ SQL الى الكود للمقارنه ، وهكذا .... هذه طريقة كتابة الكود (مثلا) : mySQL = "UPDATE [Hrakatsanf]" mySQL = mySQL & " SET [Alkmiah]=[Alkmiah]-" & [Forms]![frm_Recall_sales]![SubSales]![Alkmiah] mySQL = mySQL & " WHERE Rajmsanf='" & [Forms]![frm_Recall_sales]![SubSales]![Rajmsanf] & "'" mySQL = mySQL & " And Rjmfatwra='" & [Forms]![frm_Recall_sales]![frm_mr]![Rjmfatwra] & "'" Debug.Print mySQL DoCmd.RunSQL mySQL . جعفر 2
ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 الكاتب قام بنشر ديسمبر 26, 2017 في 26/12/2017 at 19:56, jjafferr said: وعليكم السلام اخوي ابو ياسين لا تعمل جملة SQL في الكود ، اعمل العكس ، اعمل الاستعلام اللي تريده ، ثم حوله الى SQL ، ثم اخذه الى الكود واعمل التعديل. ادخل الكود عن طريق Ctrl + G (ولا تدخله بطريقة اخرى) ، والذي سيعطيك شاشة الكود ، بالاضافة الى شاشة صغيرة في الاسفل ، والتي سنأخذ منها SQL لتجربيته في الاستعلام. ولما تأخذ SQL الاستعلام الى الكود ، فككه الى اسطر ، واربط كل سطر مع اللي قبله (لاحظ الكود التالي) ، واهم شيء تعمله هو ان تكتب جملة debug.print mySQL بعد نهاية عمل جملة الـ SQL وقبل ان تنفذ الامر docmd.runsql ، هذا الامر سوف يعطيك في اسفل شاشة الكود ، سيعطيك جملة الـ SQL بعد اضافة القيم فيها ، عندها تستطيع ان تنسخ هذه الجملة من اسفل شاشة الكود ، وتذهب الى الاستعلام وتلصقه هناك ، وتشغل الاستعلام ، واذا اعطاك خطأ ، فإصلح الاستعلام ، ثم اخذ SQL الى الكود للمقارنه ، وهكذا .... هذه طريقة كتابة الكود (مثلا) : mySQL = "UPDATE [Hrakatsanf]" mySQL = mySQL & " SET [Alkmiah]=[Alkmiah]-" & [Forms]![frm_Recall_sales]![SubSales]![Alkmiah] mySQL = mySQL & " WHERE Rajmsanf='" & [Forms]![frm_Recall_sales]![SubSales]![Rajmsanf] & "'" mySQL = mySQL & " And Rjmfatwra='" & [Forms]![frm_Recall_sales]![frm_mr]![Rjmfatwra] & "'" Debug.Print mySQL DoCmd.RunSQL mySQL . جعفر Expand اخي جعفر انا عملت الاستعلام وهذا هو UPDATE Hrakatsanf SET Hrakatsanf.Alkmiah = Nz(DLookUp("Alkmiah","Hrakatsanf","[Rjmfatwra]='" & [Rjmfatwra] & "'" & "and" & "[Rajmsanf]=" & "'" & [Rajmsanf] & "'"),0)-[forms]![frm_Recall_sales]![SubSales].[form]![Alkmiah] WHERE (((Hrakatsanf.Rjmfatwra)=[forms]![frm_Recall_sales]![frm_mr].[form]![Rjmfatwra]) AND ((Hrakatsanf.Rajmsanf)=[forms]![frm_Recall_sales]![SubSales].[form]![Rajmsanf])); مشكلتي الان شرط if كيف اجعلها بنفس الاستعلام 1
jjafferr قام بنشر ديسمبر 26, 2017 قام بنشر ديسمبر 26, 2017 في الاستعلام لا تستطيع استعمال if وانما تستطيع استعمال iff ادخل في تصميم الاستعلام ، ثم اضفها
ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 الكاتب قام بنشر ديسمبر 26, 2017 في 26/12/2017 at 20:07, jjafferr said: في الاستعلام لا تستطيع استعمال if وانما تستطيع استعمال iff ادخل في تصميم الاستعلام ، ثم اضفها Expand ليس في الاستعلام اخي جعفر هذا هو الكود If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If هو الان ينطبق بالشرط على رقم الصنف انا اريده يطبق الشرط برقم الصنف ورقم الفاتورة 1
jjafferr قام بنشر ديسمبر 26, 2017 قام بنشر ديسمبر 26, 2017 يجب عليك كسر الكود الى متغيرات اصغر ، حتى تستطيع فهم الكود لما تضعه مع بعض ، هكذا مثلا (معلومات المتغير B انا كتبتها من رأسي ، فيحتاج لها تعديل ، وتعديلها في if كذلك) : A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") B = DLookup("[Rjmfatwra]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A _ And [Forms]![frm_Recall_sales]![SubSales].[Form]![Rjmfatwra] > B Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If 1
ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 الكاتب قام بنشر ديسمبر 26, 2017 في 26/12/2017 at 20:20, jjafferr said: يجب عليك كسر الكود الى متغيرات اصغر ، حتى تستطيع فهم الكود لما تضعه مع بعض ، هكذا مثلا (معلومات المتغير B انا كتبتها من رأسي ، فيحتاج لها تعديل ، وتعديلها في if كذلك) : A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") B = DLookup("[Rjmfatwra]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A _ And [Forms]![frm_Recall_sales]![SubSales].[Form]![Rjmfatwra] > B Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If Expand بارك الله فيك اخي جعفر لم يضبط معي بحال معه اذا لم يضبط بكلمك اكرر شكري لك
ابو ياسين المشولي قام بنشر ديسمبر 26, 2017 الكاتب قام بنشر ديسمبر 26, 2017 (معدل) اخي الغالي جعفر لم تضبط معي هذا هو بعد التعديل A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") B = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A _ And [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > B Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If تم تعديل ديسمبر 26, 2017 بواسطه ابو ياسين المشولي 1
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 (معدل) الاخ jjafferr اخي جعفر بصراحه حاولت بكل الطرق ما عرفت كيف اسوي هل لديك طريقه تنصحني بها وجزاك الله خير هذا المرفق لو تكرمت شوفه احتساب الكميه 2.rar تم تعديل ديسمبر 27, 2017 بواسطه ابو ياسين المشولي
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 طيب في نموذج ، واسماء الحقول ، وكيف اصل الى المكان/الحدث؟
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 النموذج اسمه frm_Recall_sales ومكان الحدث هو Private Sub أمر16_Exit(Cancel As Integer) عند الخروج من الحفظ ربي يوفقك في 27/12/2017 at 08:54, jjafferr said: طيب في نموذج ، واسماء الحقول ، وكيف اصل الى المكان/الحدث؟ Expand لنموذج اسمه frm_Recall_sales ومكان الحدث هو Private Sub أمر16_Exit(Cancel As Integer) عند الخروج من الحفظ ربي يوفقك
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 الاخ جعفر jjafferr هذا نفس الكود اللذي عدلت عليه ويعطي نفس النتيجه شوف المرفق A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") B = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A _ And [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > B Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If احتساب-الكميه-2.rar
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 في 27/12/2017 at 13:28, ابو ياسين المشولي said: الاخ جعفر jjafferr هذا نفس الكود اللذي عدلت عليه ويعطي نفس النتيجه شوف المرفق A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") B = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A _ And [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > B Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If احتساب-الكميه-2.rarFetching info... Expand بشر اخي جعفر هل بيضبط والا اشوف طريقه اخرى
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 ابو ياسين انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز هل هذا المطلوب؟ 1
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 في 27/12/2017 at 19:04, jjafferr said: ابو ياسين انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز هل هذا المطلوب؟ Expand نعم هذا المطلوب 1
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 جرب هذا A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![ID_Sanf] & "' And [Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 في 27/12/2017 at 19:33, jjafferr said: جرب هذا A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![ID_Sanf] & "' And [Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If Expand للاسف هذا لا يقوم بالشرط الشرط هو انه يكون مطابق لرقم الفاتورة هذا ياخذ اول فاتوره فقط 1
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 ايش رأيك بأن يكون الفحص قبل انزال الكمية ، 1
kaser906 قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 في 26/12/2017 at 19:56, jjafferr said: وعليكم السلام اخوي ابو ياسين لا تعمل جملة SQL في الكود ، اعمل العكس ، اعمل الاستعلام اللي تريده ، ثم حوله الى SQL ، ثم اخذه الى الكود واعمل التعديل. ادخل الكود عن طريق Ctrl + G (ولا تدخله بطريقة اخرى) ، والذي سيعطيك شاشة الكود ، بالاضافة الى شاشة صغيرة في الاسفل ، والتي سنأخذ منها SQL لتجربيته في الاستعلام. ولما تأخذ SQL الاستعلام الى الكود ، فككه الى اسطر ، واربط كل سطر مع اللي قبله (لاحظ الكود التالي) ، واهم شيء تعمله هو ان تكتب جملة debug.print mySQL بعد نهاية عمل جملة الـ SQL وقبل ان تنفذ الامر docmd.runsql ، هذا الامر سوف يعطيك في اسفل شاشة الكود ، سيعطيك جملة الـ SQL بعد اضافة القيم فيها ، عندها تستطيع ان تنسخ هذه الجملة من اسفل شاشة الكود ، وتذهب الى الاستعلام وتلصقه هناك ، وتشغل الاستعلام ، واذا اعطاك خطأ ، فإصلح الاستعلام ، ثم اخذ SQL الى الكود للمقارنه ، وهكذا .... هذه طريقة كتابة الكود (مثلا) : mySQL = "UPDATE [Hrakatsanf]" mySQL = mySQL & " SET [Alkmiah]=[Alkmiah]-" & [Forms]![frm_Recall_sales]![SubSales]![Alkmiah] mySQL = mySQL & " WHERE Rajmsanf='" & [Forms]![frm_Recall_sales]![SubSales]![Rajmsanf] & "'" mySQL = mySQL & " And Rjmfatwra='" & [Forms]![frm_Recall_sales]![frm_mr]![Rjmfatwra] & "'" Debug.Print mySQL DoCmd.RunSQL mySQL . جعفر Expand السلام عليكم ورحمة الله وبركاته استاذ جعفر ممكن تعمل موضوع لهذه الجزئيه وتشرحها بالصور أن أمكن حاولت اطبقها وما ضبطت عندما اعمل استعلامات وارغب في تحويل جملة Sql الى كود ادوخ السبع دوخات ولعل طريقتك هذه تسهل علي الموضوع 1
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 في 27/12/2017 at 20:21, kaser906 said: استاذ جعفر ممكن تعمل موضوع لهذه الجزئيه وتشرحها بالصور أن أمكن حاولت اطبقها وما ضبطت عندما اعمل استعلامات وارغب في تحويل جملة Sql الى كود ادوخ السبع دوخات ولعل طريقتك هذه تسهل علي الموضوع Expand ان شاء الله 2 1
kaser906 قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 في 27/12/2017 at 20:24, jjafferr said: ان شاء الله Expand الله لا يحرمنا منك ومن ابداعاتك 1
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 في 27/12/2017 at 20:09, jjafferr said: ايش رأيك بأن يكون الفحص قبل انزال الكمية ، Expand حلو شوقتني كي اشوف النتيجه اين بايكون الشرط
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.