ابو ياسين المشولي قام بنشر ديسمبر 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 الان, 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 . جعفر اخي جعفر انا عملت الاستعلام وهذا هو 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 الان, jjafferr said: في الاستعلام لا تستطيع استعمال if وانما تستطيع استعمال iff ادخل في تصميم الاستعلام ، ثم اضفها ليس في الاستعلام اخي جعفر هذا هو الكود 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 37 دقائق مضت, 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 بارك الله فيك اخي جعفر لم يضبط معي بحال معه اذا لم يضبط بكلمك اكرر شكري لك
ابو ياسين المشولي قام بنشر ديسمبر 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) عند الخروج من الحفظ ربي يوفقك الان, jjafferr said: طيب في نموذج ، واسماء الحقول ، وكيف اصل الى المكان/الحدث؟ لنموذج اسمه 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 5 ساعات مضت, ابو ياسين المشولي 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.rar بشر اخي جعفر هل بيضبط والا اشوف طريقه اخرى
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 ابو ياسين انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز هل هذا المطلوب؟ 1
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 17 دقائق مضت, jjafferr said: ابو ياسين انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز هل هذا المطلوب؟ نعم هذا المطلوب 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 7 دقائق مضت, 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 للاسف هذا لا يقوم بالشرط الشرط هو انه يكون مطابق لرقم الفاتورة هذا ياخذ اول فاتوره فقط 1
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 ايش رأيك بأن يكون الفحص قبل انزال الكمية ، 1
kaser906 قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 في ٢٦/١٢/٢٠١٧ at 22: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 . جعفر السلام عليكم ورحمة الله وبركاته استاذ جعفر ممكن تعمل موضوع لهذه الجزئيه وتشرحها بالصور أن أمكن حاولت اطبقها وما ضبطت عندما اعمل استعلامات وارغب في تحويل جملة Sql الى كود ادوخ السبع دوخات ولعل طريقتك هذه تسهل علي الموضوع 1
jjafferr قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 2 دقائق مضت, kaser906 said: استاذ جعفر ممكن تعمل موضوع لهذه الجزئيه وتشرحها بالصور أن أمكن حاولت اطبقها وما ضبطت عندما اعمل استعلامات وارغب في تحويل جملة Sql الى كود ادوخ السبع دوخات ولعل طريقتك هذه تسهل علي الموضوع ان شاء الله 2 1
kaser906 قام بنشر ديسمبر 27, 2017 قام بنشر ديسمبر 27, 2017 2 دقائق مضت, jjafferr said: ان شاء الله الله لا يحرمنا منك ومن ابداعاتك 1
ابو ياسين المشولي قام بنشر ديسمبر 27, 2017 الكاتب قام بنشر ديسمبر 27, 2017 53 دقائق مضت, jjafferr said: ايش رأيك بأن يكون الفحص قبل انزال الكمية ، حلو شوقتني كي اشوف النتيجه اين بايكون الشرط
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.