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

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

قام بنشر

هل من حل 

عندما لا يكون فيه ايه بيانات يفتح التقرير (1) فارغ 
 وإذا كانت هناك بيانات فيتم نقلي الى التقرير رقم ( 2 )

قام بنشر
4 ساعات مضت, حسام نصير said:

للتواصل واتس 

01121119958

هذا مخالف 

 

يمكن ان تستخدم داله if 

مثل

   If IsNull(المعيار) Then
   الحالة الاولى
   Else
   الحالة الثانيه
   End If

 

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

هل من حل 

عندما لا يكون فيه ايه بيانات يفتح التقرير (1) فارغ 
 وإذا كانت هناك بيانات فيتم نقلي الى التقرير رقم ( 2 )

الملف مرفق 

Database10.accdb

تم تعديل بواسطه alloui79
قام بنشر
20 ساعات مضت, alloui79 said:

عندما لا يكون فيه ايه بيانات يفتح التقرير (1) فارغ

وما الذي تفعله بالتقرير الفارغ؟

  • Like 2
  • تمت الإجابة
قام بنشر

ظننت انه تم الاجابه فعليا فدخلت لاطلع على الاجابه لاستزيد من العلم

فوجدت بان السائل قد اختار افضل اجابه ع السؤال نفسه

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

وعلى العموم تفضل هذه محاولتى لفهم المطلوب

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

If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then

    DoCmd.OpenReport "data", acViewPreview, , x
Else
    DoCmd.OpenReport "nodata", acViewPreview, , x
End If

 

بالتوفيق

Database10_1.accdb

قام بنشر

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

قام بنشر
3 ساعات مضت, احمد الفلاحجي said:

ظننت انه تم الاجابه فعليا فدخلت لاطلع على الاجابه لاستزيد من العلم

فوجدت بان السائل قد اختار افضل اجابه ع السؤال نفسه

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

وعلى العموم تفضل هذه محاولتى لفهم المطلوب

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

If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then

    DoCmd.OpenReport "data", acViewPreview, , x
Else
    DoCmd.OpenReport "nodata", acViewPreview, , x
End If

 

بالتوفيق

Database10_1.accdb 492 kB · 1 download

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

قام بنشر
3 ساعات مضت, alloui79 said:

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

ممكن تجرب هذا 

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec


If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If ContRec <= 0 Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf ContRec >= 1 And ContRec <= 17 Then
 DoCmd.OpenReport "data", acViewPreview, , x
ElseIf ContRec >= 18 And ContRec <= 999999999 Then
 DoCmd.OpenReport "data", acViewPreview, , x
End If

End Sub

 

طبعا لا تنسي ان تعدل فى اسماء التقارير 

حسب ما تريد 

 

  • Thanks 1
قام بنشر

مشكور استاذ عمر وضاحي نجحت الفكر تسلم اخي

للاسف بعد ماتاكدة جيدا اتضح بعد التجربة ان لم ينجع مع التقرير 1 الفارغ ولم يظهر ارجو التحقق من الكود 

  15 ساعات مضت, alloui79 said:

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

ممكن تجرب هذا 

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec


If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If ContRec <= 0 Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf ContRec >= 1 And ContRec <= 17 Then
 DoCmd.OpenReport "data", acViewPreview, , x
ElseIf ContRec >= 18 And ContRec <= 999999999 Then
 DoCmd.OpenReport "data", acViewPreview, , x
End If

End Sub
قام بنشر
26 دقائق مضت, alloui79 said:

مشكور استاذ عمر وضاحي نجحت الفكر تسلم اخي

للاسف بعد ماتاكدة جيدا اتضح بعد التجربة ان لم ينجع مع التقرير 1 الفارغ ولم يظهر ارجو التحقق من الكود 

  15 ساعات مضت, alloui79 said:

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

ممكن تجرب هذا 

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec


If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If ContRec <= 0 Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf ContRec >= 1 And ContRec <= 17 Then
 DoCmd.OpenReport "data", acViewPreview, , x
ElseIf ContRec >= 18 And ContRec <= 999999999 Then
 DoCmd.OpenReport "data", acViewPreview, , x
End If

End Sub

ايه المعيار ال حضرتك تريده 

هل هو عدد السجلات 

ام اجمالى الدين للعميل ؟

قام بنشر

اتفضل هذا التعديل

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
Dim DlookupRec As String
DlookupRec = Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0)
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec
Debug.Print "DlookupRec >> " & DlookupRec

If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If (ContRec <> 0) And (DlookupRec = 0) Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf (ContRec >= 1 And ContRec <= 3) And (DlookupRec <> 0) Then
 DoCmd.OpenReport "data_01_3", acViewPreview, , x
ElseIf (ContRec >= 4 And ContRec <= 9999) And (DlookupRec <> 0) Then
 DoCmd.OpenReport "data_4_9999", acViewPreview, , x
End If

End Sub

 

ايضا المرفق

 

Database10_1.rar

تم وضع معيارين معا 

واتمنى ان اكون قد وضحت الفكره لك 

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

واذا كان هناك شئ غير مفهوم تفضل وسوف اشرحه لك او يشرحه لك اى شخص هنا 

  • Thanks 1
قام بنشر

للاسف بعد ماتاكدة جيدا اتضح بعد التجربة ان لم ينجع مع التقرير 1 الفارغ ولم يظهر ارجو التحقق من الكود 

  15 ساعات مضت, alloui79 said:

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

ممكن تجرب هذا 

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec


If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If ContRec <= 0 Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf ContRec >= 1 And ContRec <= 17 Then
 DoCmd.OpenReport "data", acViewPreview, , x
ElseIf ContRec >= 18 And ContRec <= 999999999 Then
 DoCmd.OpenReport "data", acViewPreview, , x
End If

End Sub

شكرا لك اخ عمر ضاحي فلا هذه المرة اشتغل معايا 

قام بنشر

 

7 ساعات مضت, alloui79 said:

للاسف بعد ماتاكدة جيدا اتضح بعد التجربة ان لم ينجع مع التقرير 1 الفارغ ولم يظهر ارجو التحقق من الكود 

  15 ساعات مضت, alloui79 said:

لنفترض انه فيه ثلاثة شروط

اذا لم يكن هناك بيانات يفتح التقرير 1 واذا كان فيه بيانات و اقل من 17 بيان ينتقل الى التقرير 2 واذا كان اكثر من 17 بيان ينتقل الى التقرير 3

ممكن تجرب هذا 

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec


If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If ContRec <= 0 Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf ContRec >= 1 And ContRec <= 17 Then
 DoCmd.OpenReport "data", acViewPreview, , x
ElseIf ContRec >= 18 And ContRec <= 999999999 Then
 DoCmd.OpenReport "data", acViewPreview, , x
End If

End Sub

شكرا لك اخ عمر ضاحي فلا هذه المرة اشتغل معايا 

هل جربت هذا الحل ؟

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

اتفضل هذا التعديل

Private Sub Commande24_Click()
Dim varcode As String
Dim vars As String
Dim ContRec As Integer
Dim DlookupRec As String
DlookupRec = Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0)
ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'")
Debug.Print "ContRec >> " & ContRec
Debug.Print "DlookupRec >> " & DlookupRec

If Me.code.Value <> "" Then
varcode = "'" & Me.code.Value & "'"


If x <> "" Then
x = x & " and "
End If

x = x & "code = " & varcode & " "
End If

'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then
'
'    DoCmd.OpenReport "data", acViewPreview, , x
'Else
'    DoCmd.OpenReport "nodata", acViewPreview, , x
'End If

If (ContRec <> 0) And (DlookupRec = 0) Then
 DoCmd.OpenReport "nodata", acViewPreview, , x
ElseIf (ContRec >= 1 And ContRec <= 3) And (DlookupRec <> 0) Then
 DoCmd.OpenReport "data_01_3", acViewPreview, , x
ElseIf (ContRec >= 4 And ContRec <= 9999) And (DlookupRec <> 0) Then
 DoCmd.OpenReport "data_4_9999", acViewPreview, , x
End If

End Sub

 

ايضا المرفق

 

Database10_1.rar 45.84 kB · 1 download

تم وضع معيارين معا 

واتمنى ان اكون قد وضحت الفكره لك 

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

واذا كان هناك شئ غير مفهوم تفضل وسوف اشرحه لك او يشرحه لك اى شخص هنا 

 

قام بنشر
2 ساعات مضت, احمد الفلاحجي said:

احسنت اخى @عمر ضاحى وجزاك الله خيرا عالمتابعه 🌹

بالتوفيق

 

 

بارك الله فيك استاذي

هذا كله بفضل تعليم اساتذتى فى المنتدي 

بارك الله فيهم وحفظهم من كل سوء 

وما ارانا الله فيهم شر وبارك الله لهم فى عافيتهم ومالهم وعلمهم 

 

  • Like 1
قام بنشر

وفيك بارك الله وانا اخوك ولست باستاذ

جزاهم الله عنا كل خير

والسؤال للاخ السائل كيفيه معرفه من ليس له ديون حتى يتم تنفيذ الشرط الاساسى لك والباقى فقد قدمه لك اخى @عمر ضاحى

في 23‏/4‏/2022 at 23:42, alloui79 said:

التقرير الفارغ يعني ان ليس له ديون ةيظهر فيه عبارة لا شيئ

لان فى حلى الاول فهو ليس بحل ولكن وضعته كمحاوله للوصول للمطلوب

ولكن داله dlookUp سوف تاتى باول سجل مطابق للشروط ويمكن لديه سجلات اخرى وعليه ديون

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

بالتوفيق

  • 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