اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

اخواني الاعزاء

ماذا ينقص هذا الكود

اريد تصحيحه او ما يماثله

ولكم جزيل الشكر

 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]));")

قام بنشر

حاولت بهذا ولم افلح

 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]));" _
 

قام بنشر

وعليكم السلام اخوي ابو ياسين:smile:

 

لا تعمل جملة 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

.

جعفر

  • Like 2
قام بنشر
  في 26‏/12‏/2017 at 19:56, jjafferr said:

وعليكم السلام اخوي ابو ياسين:smile:

 

لا تعمل جملة 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

كيف اجعلها بنفس الاستعلام

  • Like 1
قام بنشر
  في 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
هو الان ينطبق بالشرط على رقم الصنف

انا اريده يطبق الشرط برقم الصنف ورقم الفاتورة

  • Like 1
قام بنشر

 

يجب عليك كسر الكود الى متغيرات اصغر ، حتى تستطيع فهم الكود لما تضعه مع بعض ، هكذا مثلا (معلومات المتغير 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

 

 

  • Like 1
قام بنشر
  في 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  

بارك الله فيك اخي جعفر

لم يضبط معي بحال معه

اذا لم يضبط

بكلمك

اكرر شكري لك

قام بنشر (معدل)

اخي الغالي جعفر

لم تضبط معي

هذا هو بعد التعديل

 

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


 

تم تعديل بواسطه ابو ياسين المشولي
  • Like 1
قام بنشر (معدل)

الاخ jjafferr

اخي جعفر

بصراحه حاولت بكل الطرق

ما عرفت كيف اسوي

هل لديك طريقه تنصحني بها وجزاك الله خير

هذا المرفق لو تكرمت شوفه

احتساب الكميه 2.rar

تم تعديل بواسطه ابو ياسين المشولي
قام بنشر

النموذج اسمه

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)

عند الخروج من الحفظ

ربي يوفقك

قام بنشر

الاخ جعفر 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‏/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  

بشر اخي جعفر

هل بيضبط والا اشوف طريقه اخرى

قام بنشر

ابو ياسين

 

انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز

هل هذا المطلوب؟

  • Like 1
قام بنشر
  في 27‏/12‏/2017 at 19:04, jjafferr said:

ابو ياسين

 

انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز

هل هذا المطلوب؟

Expand  

نعم هذا المطلوب

  • Like 1
قام بنشر

جرب هذا


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‏/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  

للاسف هذا لا يقوم بالشرط

الشرط هو انه يكون مطابق لرقم الفاتورة

هذا ياخذ اول فاتوره فقط

 

  • Like 1
قام بنشر
  في 26‏/12‏/2017 at 19:56, jjafferr said:

وعليكم السلام اخوي ابو ياسين:smile:

 

لا تعمل جملة 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 الى كود ادوخ السبع دوخات ولعل طريقتك هذه تسهل علي الموضوع 

  • Like 1
قام بنشر
  في 27‏/12‏/2017 at 20:21, kaser906 said:

استاذ جعفر ممكن تعمل موضوع لهذه الجزئيه وتشرحها بالصور أن أمكن حاولت اطبقها وما ضبطت 

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

Expand  

ان شاء الله:smile:

  • Like 2
  • Thanks 1

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