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

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


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

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

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

هل لاحظت المشكلة في المرفق استاذ عمر

ايه المشكلة تحديد معاك
ارفع صورة بالمشكله
وبلاش تستخدم موقع

https://top4top.io

لانه محجوب عندي

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

8 ساعات مضت, عمر ضاحى said:

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

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

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

الاستاذ كريم

حضرتك لم تنتبه لهذه النقطه 

 

شوف بعد ما جربت اشغل الكود

image.png.d7d566d1beac924be15484b44f5bb4ae.png

وحبيت اعرف الاكسيس شايف ايه جو المتغيرات

طلعت لى النتيجه صدمه

المفترض ان المتغيرات تحمل تاريخ

لكن واحد يحمل قيمة نصية

والاخر لا يحمل قيمه

يبقي الكود هيشتغل ازاي

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

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

المتغيرين d1وd2 هما عبارة عن تاريخين والكود يبحث التواريخ بينهما

طيب هو بياخد التواريخ من اين؟

انت شايف النتيجه؟

راجع المعطيات هتحل المشكله ان شاء الله

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

انظر الصورة فلربما يتضح لك شيء والمعلومات الي عليها مربع احمر من جدول Bdgi

هنا عادي ولكن يقوم بالتصفية حسب السنة

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)= sn));"

اما هنا وقع المشكل في التصفية بالتاريخ

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.PDG_Date Between #" & d1 & "# And #" & d2 & "#;"
    DoCmd.SetWarnings (0)
      DoCmd.RunSQL strSQL
    DoCmd.SetWarnings (0)

 

 

 

 

2024-10-31_19-59-57.jpg.bb29db8c18c8a7f3a5fc5bee59a645d5.jpg

20241030.mdb

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

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

انظر الصورة فلربما يتضح لك شيء والمعلومات الي عليها مربع احمر من جدول Bdgi

 

 

 

 

 

2024-10-31_19-59-57.jpg.bb29db8c18c8a7f3a5fc5bee59a645d5.jpg

20241030.mdb 2.63 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 0 downloads

اخي الحبيب كريم

يبدو ان هناك شئ فهم او تقصير مني

الاكسيس برنامج يقوم زيه زي اى برنامج

له اجراءات يقوم بتنفيذها حسب ما انت وضعتها

انت توريني صور للجدول

لكن الاكسيس كيف هيعرف ان الثالث الاول هو التاريخ من الى

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

والاسهل ليك

ان تقوم بوضع حقلين لهذه الفتره

وانت بالفعل عامل كده

image.png.815ed968b447a3610a047e1e681b0f09.png

 

لكن المشكلة ان انت بالفعل معلن عن المتغير D1

وهو بيستخدم فى اجراءات اخري وبيحمل قيمة نصيه

 

الحل اما تلغي موضوع المتغيرات وتضع مسار حقل التاريخ مباشرة

او انك تعلن عن متغيرين جديد

وانا افضل الحل الاخر

وايضا افضل استخدام دالة Format علشان توحد صيغة التاريخ وميحشلش مشكلة

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

اتعبتك معي استاذي العزيز

الم تلاحظ ان البحث كان ينفذ عادي قبل  الكود الاخير لجملة الـ strSQL

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

وايضا افضل استخدام دالة Format علشان توحد صيغة التاريخ وميحشلش مشكلة

'FormatDate
d1 = Format(Me.Date_First, "MM/dd/yyyy")
d2 = Format(Me.Date_End, "MM/dd/yyyy")
 

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

وهنا اعطيك حل للما سبق ذكره

    strSQL = "INSERT INTO kanory ( a, b, c, d ) " & vbCrLf & _
    "SELECT Bdgi.Obsérvation, Bdgi.PDG_Pr, ""02- المداخيل ( الموارد)"" AS Expr1, ""1"" AS Expr2 FROM Bdgi " & vbCrLf & _
    "WHERE (((Format([PDG_Date],""dd-mm-yyyy"")) Between [Forms]![FrmMasarif_Trémestre]![Date_First] And [Forms]![FrmMasarif_Trémestre]![Date_End]));"

 

1 دقيقه مضت, كريمو2 said:

اتعبتك معي استاذي العزيز

الم تلاحظ ان البحث كان ينفذ عادي قبل  الكود الاخير لجملة الـ strSQL

'FormatDate
d1 = Format(Me.Date_First, "MM/dd/yyyy")
d2 = Format(Me.Date_End, "MM/dd/yyyy")
 

ده بس انتبه

ان لا يستخدم المتغير فى شئ اخر غير التاريخ
ولازم تعلن عنه
وغير كده انا شايف ان المتغيرات هنا ما لها لزمه معاك

 

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

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

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



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

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

Important Information