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

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

قام بنشر

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

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

فلو عندنا استعلام وفيه شرط اسف الحقل type
اريد ان تكون كالتالى : اذا كان النموذج المفعل ( او المفتوح حاليا ) frm1 يبقى الشرط [type]![frm1]![forms]

واذا كان النموذج المفعل ( المفتوح حاليا ) هو frm2 يصبح الشرط [type]![frm2]![forms]

وشكرا مقدما وكل عام وحضراتكم بخير

قام بنشر

ضع المعيارين تحت بعض 

واحد في سطر : المعايير

والثاني في سطر : أو

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

قام بنشر
1 ساعه مضت, ابوخليل said:

ضع المعيارين تحت بعض 

واحد في سطر : المعايير

والثاني في سطر : أو

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

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

قام بنشر

بالنسبة لي أحب حل مثل هذه الأمور بعمل دالة عامة يتم استدعائها في المعيار ..

وهذه هي الدالة على حسب مثالك 🙂 :

Public Function Frm1_or_Frm2() As String

If CurrentProject.AllForms("frm1").IsLoaded = True Then
    Frm1_or_Frm2 = "[forms]![frm1]![type]"
ElseIf CurrentProject.AllForms("frm2").IsLoaded = True Then
    Frm1_or_Frm2 = "[forms]![frm2]![type]"
Else
    Frm1_or_Frm2 = ""
End If
End Function

بعد أن تضع الدالة في موديول .. تضع اسم الدالة في المعيار هكذا :

= Frm1_or_Frm2()

والدالة هي ستتولى عملية الفحص .. 🙂 

ملاحظة : لو كان النموذجين كلاما مغلق في نفس اللحظة يضع فراغ في المعيار ..

قام بنشر

وجرب الدالة بهذا الشكل لوضع المعامل Like إن شئت وإظهار جميع السجلات لو كان النموذجان مغلقان :

Public Function Frm1_or_Frm2() As String

If CurrentProject.AllForms("frm1").IsLoaded = True Then
    Frm1_or_Frm2 = "Like '*' & [forms]![frm1]![type] & '*'"
ElseIf CurrentProject.AllForms("frm2").IsLoaded = True Then
    Frm1_or_Frm2 = "Like '*' & [forms]![frm2]![type] & '*'"
Else
    Frm1_or_Frm2 = "Like '*'"
End If
End Function

وتكتب تحت المعيار  :

Frm1_or_Frm2()

 

  • Like 1
قام بنشر
10 ساعات مضت, Moosak said:

بالنسبة لي أحب حل مثل هذه الأمور بعمل دالة عامة يتم استدعائها في المعيار ..

وهذه هي الدالة على حسب مثالك 🙂 :

جزاك الله الف خير لقد اشتغل الكود الحمد لله لكن عملت فيه تعديل يظهر كالتالى لانه لم يعمل بدون التعديل فرجاء توضيح السبب لو تكرمت 🙂 

Public Function Frm1_or_Frm2() As String

If CurrentProject.AllForms("issue").IsLoaded = True Then
    Frm1_or_Frm2 = [Forms]![Issue]![QNo].Value
ElseIf CurrentProject.AllForms("quud").IsLoaded = True Then
    Frm1_or_Frm2 = [Forms]![Quud]![QNo].Value
ElseIf CurrentProject.AllForms("recepit").IsLoaded = True Then
    Frm1_or_Frm2 = [Forms]![Recepit]![QNo].Value

Else
    Frm1_or_Frm2 = ""
End If
End Function

اضفت . value

  • Like 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