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

خطأ استخدامي للدالة iif مع between


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

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

السلام عليكم ورحمة الله وبركاته

معي هذا الداله

IIf([Forms]![frmReportBalance]![OP1]=2;Between [Forms]![frmReportBalance]![txtdate1] And [Forms]![frmReportBalance]![txtdate2];([TblErad]![EradDate]))

لكنها لا تعمل جيدا

مرفق قاعدة بها النموذج الذى اريد برمجته

01.rar

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

فكره اخرى فاشله

IIf([Forms]![frmReportBalance]![OP1]=2;([TblErad]![EradDate])>=[Forms]![frmReportBalance]![txtdate1] And ([TblErad]![EradDate])<=[Forms]![frmReportBalance]![txtdate2];([TblErad]![EradDate]))

 

مع ان هذه المقطع شغال تمام

([TblErad]![EradDate])>=[Forms]![frmReportBalance]![txtdate1] And ([TblErad]![EradDate])<=[Forms]![frmReportBalance]![txtdate2]

 

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

مش عارف

انا حاسس ان فى حاجه فيتاني حاجه المفترض اعملها او اعيد صياغتها او انا ناسيها

ايه هي مش عارف

انا اتحيرت بجد

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

الموضع باختصار عاوز اقول

للاستعلام Q_SumErad و Q_SumMsrofat

لو

Forms]![frmReportBalance]![OP1]=2

ضع المعيار

Between [Forms]![frmReportBalance]![txtdate1] And [Forms]![frmReportBalance]![txtdate2]

اما لو كانت القيمه غير كده يشتغل بدون معيار

اى

 ([TblErad]![EradDate])

بس كده ^_^

 

 

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

  • أفضل إجابة

خلاص ولله الحمد

حليتها بحل اخر خارج الصندوق بتاعي

قمت بعمل حقلين اخرين فى فورم الارصده

قيمتهم بتساوي تحويل التواريخ الى شهر وسنه للحقلين الاصليين للتواريخ الاستعلام

وعملت حدث بعد التحديث

If Me.OP1 = 2 Then
Me.Con1 = Format([txtdate1], "mm-yyyy")
Me.Con2 = Format([txtdate2], "mm-yyyy")
Else
Me.Con1 = Format(#1/1/1900#, "mm-yyyy")
Me.Con2 = Format(#12/31/2500#, "mm-yyyy")
End If

وعملت له نداء فى كل شئ يخص التاريخ فى الفورم

وفى الاستعلام

وضعت هذا المعيار

>=[Forms]![frmReportBalance]![Con1] And <=[Forms]![frmReportBalance]![Con2]

واشتغل تمام ^_^

 

ايضا بعد هذا يتم اخفاء المربع النص الجديد لان ليس له فائده ان يكون ظاهر ^_^

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

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

السلام عليكم ورحمة الله وبركاته

معي هذا الداله

IIf([Forms]![frmReportBalance]![OP1]=2;Between [Forms]![frmReportBalance]![txtdate1] And [Forms]![frmReportBalance]![txtdate2];([TblErad]![EradDate]))

لكنها لا تعمل جيدا

مرفق قاعدة بها النموذج الذى اريد برمجته

01.rar 88.85 kB · 12 downloads

هل تقصد هكذا

01.rar

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

4 ساعات مضت, ابو ياسين المشولي said:

هل تقصد هكذا

01.rar 92.21 kB · 2 downloads

هذا ما قصدته 

(مرفق ملف)

 

فيه ما قمت بعمله 

 

لان واضح ان فى مشكله فى استخدام قاعدة iif مع Between داخل الاستعلام

ممكن تتحل بحل اخر عن طريق مديول (مجربتهاش لاني ضعيف فيها صراحتا)

لكن جربت جميع الاشكال والطريق ال ممكن اتوقعها (من وجهة نظرى الشخصيه الضعيفه) لكن فشلت فى حلها 

غير بهذه الطريقه

Pro-Acc-S7.rar

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

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

خلاص ولله الحمد

حليتها بحل اخر خارج الصندوق بتاعي

قمت بعمل حقلين اخرين فى فورم الارصده

ماشاء الله امر جميل وايجابي ان نبحث ونجرب الى ان نجد الحل

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

في البداية انا لست محاسب ولم اعمل في المحاسبة في يوم من الايام

مع ذلك اعتقد انه لا يوجد منصرف بدون وارد ولكن يوجد وارد بدون منصرف

وبالتالي لو اني مازلت اعمل في مجال البرمجة وفكرت في عمل برنامج من هذا النوع لاستخدمت جدول واحد وحقل واحد للوارد والمنصرف وحقل لنوع الحركة

ولو فكرت في جدولين كما عملت استاذ " ضاحي " لجعلت جدولي الوارد والمنصرف اطراف لجدول رئيسي فهناك  اكثر من عملية ايداع "وارد" واكثر من عملية سحب "منصرف"

حينها سوف اجد انني استطيع الحصول على التقارير المطلوب ومراقبة العمليات بشكل اكثر سهولة ومع ذلك ارجح الجدول والواحد

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

لماذا ذكرت هذه التجربة لان فكرة الوارد والمنصرف والوارد والصادر بينهما كثير من التشابه

ولكن هذا امر اخر

تحياتي وتقديري

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

معك حق 

لكن وقتها حبيت افصل الجدولين عن بعض (مش عارف ليه ^_^ )

لكن فكرتك جميله هحاول اطبقها فى التجارب (التدريبات) القادمه

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

اخي هذا حسب مافهمته من تصميم المنوذج

Select Case Nz(OP1, "")
    Case 1
        DoCmd.OpenReport "RepBalanceAll", acViewPreview
    Case 2
     DoCmd.OpenReport "RepBalanceAll", acPreview, , "[EDate]Between [Forms]![frmReportBalance]![Con1] And [Forms]![frmReportBalance]![Con2]"
    Case 3
        If IsNull(cbFr3) Then
            MsgBox "يجب اختيار الفرع اولا", vbCritical, "انتبه"

            Me.cbFr3.SetFocus
            Me.cbFr3.Dropdown
            Exit Sub
        Else
     DoCmd.OpenReport "RepBalanceAll", acPreview, , "[EDate]Between [Forms]![frmReportBalance]![Con1] And [Forms]![frmReportBalance]![Con2]and [Fr3Name]=[Forms]![frmReportBalance]![txtNameFr3]"
        End If
   
End Select

 

Pro-Acc-S7.rar

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

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