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

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

قام بنشر

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

عندي في النموذج "frmProduction"

جميع مربعات التحرير والسرد تشتغل بشكل رائع :wavetowel:

إلا واحد بالطبع- الوحدة "cboUnits":')

حيث أنه وعند اختيار "Peinture" 

لا يقوم بإضهارها في النموذج الفرعي رغم أنها موجودة :Rules:

لا أدري ما سبب هذه المشكلة ولا أين أخطأت في الكود :wallbash:

ملاحظة :من فضلك قم باختيار التاريخ من 01/01/2017 حتى تظهر جميع النتائج

بارك الله فيكم وفي علمكم

Search.zip

قام بنشر

وعليكم السلام:smile:

 

انزلت المرفق ، وكل شئ شغال تمام:smile:

 

يعني لأول مرة نشوف سؤال ما بحاجة الى إجابة:smile:

 

جعفر

قام بنشر
5 دقائق مضت, jjafferr said:

وعليكم السلام:smile:

 

انزلت المرفق ، وكل شئ شغال تمام:smile:

 

يعني لأول مرة نشوف سؤال ما بحاجة الى إجابة:smile:

 

جعفر

مشكوووووووور أخونا جعفر على الرد 

لكن مشكلتي فقط مع مربع التحرير والسر " cboUnits " ومع القيمة " Peinture " فقط

حيث لا تظهر في البحث

Search1.PNG.8eb3718b85eb371df3e9b67120e9f55a.PNG

رغم أنها موجودة في الجدول

search2.PNG.61fc7dc182760bab3699c47a911cf1cb.PNG

 

قام بنشر

نعم ، كانت هناك مشكلة عندما الحقل يكون فارغ ، والمعيار '*' Like ، فلا تحصل على نتائج:blink:

 

تم تغيير الكود الى:


Function SearchCriteria()
Dim strProject As String
Dim strProfil, strMachine, strRepere, strDone, strTime, strUnits As String
Dim strFirstDate, strLastDate As Date
Dim Task As String
Dim strCriteria As String
'..................................................................................
If IsNull(Me.cboTime) Then
Else
   strTime = " And [Heure] = '" & Me.cboTime & "' "
End If
'.................................................................................

If IsNull(Me.cboProject) Then
Else
   strProject = " And [N° BS] = '" & Me.cboProject & "' "
End If
'.................................................................................
If IsNull(Me.cboMachine) Then
Else
   strMachine = " And [Machine] = '" & Me.cboMachine & "' "
End If
'.................................................................................
If IsNull(Me.cboProfil) Then
Else
   strProfil = " And [Désignation] = '" & Me.cboProfil & "' "
End If
'................................................................................
If IsNull(Me.cboRepere) Then
Else
   strRepere = " And [Repères] = '" & Me.cboRepere & "' "
End If
'................................................................................
If IsNull(Me.cboDone) Then
Else
   strDone = " And [Done] = '" & Me.cboDone & "' "
End If
'................................................................................
If IsNull(Me.txtFirstDate) Or IsNull(Me.txtLastDate) Then
Else
strFirstDate = " And [LaDate]>=  #" & Format(txtFirstDate, "mm/dd/yyyy") & "#" _
                     & " And  [LaDate] <= #" & Format(txtLastDate, "mm/dd/yyyy") & "#"
End If
'................................................................................
If IsNull(Me.cboUnits) Then
Else
   strUnits = " And [Units from] = '" & Me.cboUnits & "' "
End If
'................................................................................

strCriteria = strProject & strMachine & strProfil & strRepere & strDone & strFirstDate & strTime & strUnits

Task = "select * from tblRealisation where " & strCriteria
'Debug.Print Replace(Task, "where  And", "where")

Me.RealisationSubForm.Form.RecordSource = Replace(Task, "where  And", "where")
Me.RealisationSubForm.Form.Requery

End Function

 

جعفر

  • Like 1
قام بنشر

مشكوووووووور أخونا جعفر أتعبناك معنا

إذا أمكن بعض الاستفسارات

لماذا حذفت  ، والمعيار '*' Like  رغم أنها كانت تشتغل بشكل عادي مع بافي مربعات التحرير والنص 

لاحظت أيضا أنك غير " & "And" & " وقمت باستبدالها ب "&"

ثم قمت بتغيير 

من 

Me.RealisationSubForm.Form.RecordSource = Task

إلى 

Me.RealisationSubForm.Form.RecordSource = Replace(Task, "where  And", "where")

آآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآسف على كثرة الاسئلة

 

قام بنشر
46 دقائق مضت, بوعبد الله محفوظ said:

1. لماذا حذفت  ، والمعيار '*' Like  رغم أنها كانت تشتغل بشكل عادي مع بافي مربعات التحرير والنص 

2. لاحظت أيضا أنك غير " & "And" & " وقمت باستبدالها ب "&"

3. ثم قمت بتغيير من Me.RealisationSubForm.Form.RecordSource = Task إلى 


Me.RealisationSubForm.Form.RecordSource = Replace(Task, "where  And", "where")

 

1. اعمل استعلام ، وادخل فيه اي حقلين من اي جدول ، احدهما فيه بيانات ، والاخر مافيه بيانات ،

اذا استعمل '*' Like في الحقل الذي ليس فيه بيانات ، سترى انه لا تحصل على سجلات اصلا ، مع ان الحقل الآخر فيه بيانات ،

هذه كانت مشكلتك ، لأنه لما تستعمل المعيار Peinture ، سترى ان الحقل Heure مثلا ليس به بيانات ، واذا استعملت المعيار  '*' Like عليه ، فلن تحصل على اي نتيجة.

 

لذا ، كان لازم نتخلص من معايير  '*' Like للحقول التي لا توجد بها معايير ، لذا فقمت بحذفها ، وهذا لا يؤثر على نتائج الاستعلام.

 

2. ونتيجة الى حذف  '*' Like للحقول التي ليست بها معايير ، اصبح لدينا الكثير من  " & "And" & " الزائدة ، والتي تمنع من عمل SQL الاستعلام ، فاضطررت الى حذفها ، 

3. بقية And الاولى ، والتي كان يجب حذفها كذلك ، فاسهل سطر لحذفها كان هذا:smile:

 

جعفر

  • Like 2

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information