اذهب الي المحتوي
أوفيسنا

التعديل على دالة DLookup او استبدالها بدالة اخرى


إذهب إلى أفضل إجابة Solved by عمر ضاحى,

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

السلام عليكم اساتذتي الكرام

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

مع مراعاة التصفية 'عدم الظهور" عندما يكون المبلغ 0.00

كما في الصورة 

    rs.AddNew
    rs!a = DLookup("[Obsérvation]", "BDGI", " ([année])=" & Forms!FrmMasarif!txtYear)
    rs!b = Nz(DSum("[PDG_Pr]", "[BDGI]", Cretiriatt1), 0)
    rs!c = "02- المداخيل ( الموارد)"
    rs.Update

915722325_.png.253fc32c259255d62deb0a49efd607d9.png

 

 

20241028.mdb

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

  • كريمو2 changed the title to التعديل على دالة DLookup او استبدالها بدالة اخرى
في 28‏/10‏/2024 at 21:09, كريمو2 said:

السلام عليكم اساتذتي الكرام

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

مع مراعاة التصفية 'عدم الظهور" عندما يكون المبلغ 0.00

كما في الصورة 

    rs.AddNew
    rs!a = DLookup("[Obsérvation]", "BDGI", " ([année])=" & Forms!FrmMasarif!txtYear)
    rs!b = Nz(DSum("[PDG_Pr]", "[BDGI]", Cretiriatt1), 0)
    rs!c = "02- المداخيل ( الموارد)"
    rs.Update

915722325_.png.253fc32c259255d62deb0a49efd607d9.png

 

 

20241028.mdb 2 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 16 downloads

 

انا شايف ان بالفعل موجوده 
YkpNJW.png

ولا انت محتاج حاجه تاني انا مش قادر افهمها 

 

رابط هذا التعليق
شارك

شكرا استاذ على الاهتمام والرد ولكن الم تلاحظ ان المعلومات مكررة هي ومبالغها انظر الى الجدول bdgi وعند السنة 2024

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

29 دقائق مضت, كريمو2 said:

شكرا استاذ على الاهتمام والرد ولكن الم تلاحظ ان المعلومات مكررة هي ومبالغها انظر الى الجدول bdgi وعند السنة 2024

اها فهمت

بعد ما بصيت فى الكود بتاعك

image.png.89dcacbe51ef4ce45f3855f22c669972.png

ملاحظ انك مكرر الخطوه 3 مرات 

ف انت بتحاول تعمل التقرير ازاي ؟
وممكن لتقليل الاخطاء استخدم اولا الاستعلامات المباشرة 

ولما يكون كله تمام 

ممكن تحولها لاكواد بدل الاسطر ال اتخضيت لما شفتها بصراحه ما شاء الله مجهود كبير

وبكده هتوفر مجهود اكبر

 

رابط هذا التعليق
شارك

4 دقائق مضت, كريمو2 said:

نعم هي ما اريد استاذ عمر

كل ما عليك استيدل 
الذى تم الاشارة اليه هنا

32 دقائق مضت, عمر ضاحى said:

اها فهمت

بعد ما بصيت فى الكود بتاعك

image.png.89dcacbe51ef4ce45f3855f22c669972.png

ملاحظ انك مكرر الخطوه 3 مرات 

ف انت بتحاول تعمل التقرير ازاي ؟
وممكن لتقليل الاخطاء استخدم اولا الاستعلامات المباشرة 

ولما يكون كله تمام 

ممكن تحولها لاكواد بدل الاسطر ال اتخضيت لما شفتها بصراحه ما شاء الله مجهود كبير

وبكده هتوفر مجهود اكبر

 

بهذا الكود

Dim strSQL As String
strSQL = "INSERT INTO kanory ( a, b, c ) SELECT Bdgi.Obsérvation, Bdgi.PDG_Pr, ""02- المداخيل ( الموارد)"" AS Expr1 FROM Bdgi;"
DoCmd.SetWarnings (0)
    DoCmd.RunSQL strSQL
DoCmd.SetWarnings (0)

 

تم تعديل بواسطه عمر ضاحى
رابط هذا التعليق
شارك

شكرا استاذ عمر على المساعدة و ايجاد الحل ولكن استاذ الكود اظهر جميع السجلات في الجدول Bdgi اي بدون تصفية حسب السنة هذا من جهة ومن جهة اخرى قيمة d (العدد) غير موجودة في الكود والتي تحصي عدد العمليات

année=Forms!FrmMassarif!txtYear

 

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

7 دقائق مضت, كريمو2 said:

شكرا استاذ عمر على المساعدة و ايجاد الحل ولكن استاذ الكود الظهر جميع الوجبات في الجدول Bdgi اي بدون تصفية ann

année=Forms!FrmMassarif!txtYear

 

تقدر تعدل فى الكود 
لانه فى الاصل هو استعلام 

استبدل الاستعلام بهذا السطر 

strSQL = "INSERT INTO kanory ( a, b, c ) SELECT Bdgi.Obsérvation, Bdgi.PDG_Pr, ""02- المداخيل ( الموارد)"" AS Expr1 FROM Bdgi WHERE (((Bdgi.année)=[Forms]![FrmMasarif]![txtYear]));"


 

رابط هذا التعليق
شارك

تم التصحيح استاذ وبقيت دالة DCount للحساب عدد العمليات وفي الاغلب تكون 1 يعنيd=1   https://d.top4top.io/p_3225m1omw0.png

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

2 ساعات مضت, كريمو2 said:

تم التصحيح استاذ وبقيت دالة DCount للحساب عدد العمليات وفي الاغلب تكون 1 يعنيd=1   https://d.top4top.io/p_3225m1omw0.png

هعطيك طريقة سهله

انسخ هذا الاستعلام
 

INSERT INTO kanory ( a, b, c ) SELECT Bdgi.Obsérvation, Bdgi.PDG_Pr, "02- المداخيل ( الموارد)" AS Expr1 FROM Bdgi WHERE (((Bdgi.année)=[Forms]![FrmMasarif]![txtYear]));

وعدل عليه فى الاستعلامات

وبعد ما تاخد النتيجة التى تريدها

انسخ الكود من الاستعلام

وحطه بدل الكود الحالي

بس انتبه فى ال vba " فى وسط الجمله هتعمل ربكه للكود فلازم تكون ""
يعني هنا كمثال

 ""02- المداخيل ( الموارد)"" 
هتكون فى كود ال vba هكذا
"02- المداخيل ( الموارد)"
دي هتكون فى السيكول (الاتسعلام)

 

رابط هذا التعليق
شارك

  • أفضل إجابة
1 ساعه مضت, كريمو2 said:

تم انشاء استعلام ونسخ الكود ولكن محبش يتنفذ

2024-10-30_17-34-22.jpg.8c0527a8b622198b75bb21d9568573f4.jpg2024-10-30_17-36-37.jpg.faa92947bd8cb90a328f2c9ac7d343b9.jpg2024-10-30_17-35-59.jpg.53a23ab7ce5edece7e6e475520d2de49.jpg

مش شغال ازاي ؟

شغال تمام معي

image.thumb.gif.ca98f3b6baf4cabbdd2698cb04d4026e.gif

 

  • Like 1
رابط هذا التعليق
شارك

12 دقائق مضت, كريمو2 said:

سبحان الله يا استاذي العزيز نفس المعلومات ولكن لم يشتغل عندي ولم يظهر لي اي رسالة خطأ للعلم انا أستعمل اكسس 2010

ارسل لي رسالة على الخاص فيها عنوان (اي دي ) anydesk

احاول افهم فين المشكله عندك

رابط هذا التعليق
شارك

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

شكرا لك استاذ عمر ضاحي  على سعة الصدر وربي يحفظك ويجعله في ميزان حسناتك

 strSQL = "INSERT INTO kanory ( a, b, c, d) SELECT Bdgi.Obsérvation, Bdgi.PDG_Pr, ""02- المداخيل ( الموارد)"" AS Expr1, ""1"" AS Expr2 FROM Bdgi WHERE (((Bdgi.année)=[Forms]![FrmMasarif]![txtYear]));"

 

  • Like 2
رابط هذا التعليق
شارك

4 دقائق مضت, كريمو2 said:

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

شكرا لك استاذ عمر ضاحي  على سعة الصدر وربي يحفظك ويجعله في ميزان حسناتك

 strSQL = "INSERT INTO kanory ( a, b, c, d) SELECT Bdgi.Obsérvation, Bdgi.PDG_Pr, ""02- المداخيل ( الموارد)"" AS Expr1, ""1"" AS Expr2 FROM Bdgi WHERE (((Bdgi.année)=[Forms]![FrmMasarif]![txtYear]));"

 

الحمد لله

 

  • Like 1
رابط هذا التعليق
شارك

استاذ عمر حولت الكود الي جهة اخرى ولكن هل المرة التصفية مابين تاريخين فوقعت في مشكلة فكيف اعدل على الكود حتى يعمل بشكل صحيح https://e.top4top.io/p_3226i7rku0.jpg

رابط هذا التعليق
شارك

49 دقائق مضت, كريمو2 said:

استاذ عمر حولت الكود الي جهة اخرى ولكن هل المرة التصفية مابين تاريخين فوقعت في مشكلة فكيف اعدل على الكود حتى يعمل بشكل صحيح https://e.top4top.io/p_3226i7rku0.jpg

امممممم 
جرب تعدل على الشرط فى الكود هكذا 
 

WHERE Bdgi.PDG_Date Between #" & D1 & "# And #" & D2 & "#;

لكن لازم تتأكد ان المتغيرين 

D1 و D2
من نوع تاريخ 

وان بهم قيمة صحيحه (كتاريخ)

وان شاء الله بيعمل معك

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information