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

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

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

اساتذتى العظماء .. تحية عطرة

ما الخطأ فى هذا الكود 

Dim myWhere As String
myWhere = "[FirstName] ='" & [txtFirstName] & "'"
myWhere = myWhere & " And"
myWhere = myWhere & "[LastName] ='" & [txtLastName] & "'"
myWhere = myWhere & " And"
myWhere = myWhere & "[DateOfBirth] =#" & Format([txtDateOfBirth], "dd/mm/yyyy") & "#"
myWhere = myWhere & " And"
myWhere = myWhere & "[SIR]= " & [ChckSIR]
Debug.Print myWhere

Me.txtCount = DCount("*", "[tblTestCount]", myWhere)

 

Test Dcout.mdb

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

  • أفضل إجابة

وعليكم السلام 🙂

 

كود جدا جميل ، وجدا عملي 🙂

 

محتاج ترك مسافة بعد كل And :

image.png.bab07e51fda88371812e76baf0e095f4.png

وقد تحتاج الى استعمال الدالة التالية للتاريخ (صدقني انها انقذتني مرات ومرات) :

 

جعفر

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

الخطأ هنا أستاذي :

Me.txtCount = DCount("*", "[tblTestCount]",  myWhere )

ينبغي إضافة الأقواس للجملة mywhere  هكذا :

Me.txtCount = DCount("*", "[tblTestCount]", """& myWhere &""")

والله أعلم

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

استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr :fff:

حتى مع ترك المسافة بعد كل And : 

لم احصل على النتيجة :blink:

[FirstName] ='m' And [LastName] ='e' And [DateOfBirth] =#02/11/2021# And [SIR]= -1

 

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

يجب استعمال دالة التاريخ 

 

Dim myWhere As String
myWhere = "[FirstName] ='" & [txtFirstName] & "'"
myWhere = myWhere & " And "
myWhere = myWhere & "[LastName] ='" & [txtLastName] & "'"
myWhere = myWhere & " And "
'myWhere = myWhere & "[DateOfBirth]=#" & Format([txtDateOfBirth], "dd/mm/yyyy") & "#"
myWhere = myWhere & "[DateOfBirth] =" & DateFormat([txtDateOfBirth])
myWhere = myWhere & " And "
myWhere = myWhere & "[SIR]= " & [ChckSIR]
Debug.Print myWhere

Me.txtCount = DCount("*", "[tblTestCount]", myWhere)

 

 

Function DateFormat(varDate As Variant) As String
    'Purpose:    Return a delimited string in the date format used natively by JET SQL.
    'Argument:   A date/time value.
    'Note:       Returns just the date format if the argument has no time component,
    '                or a date/time format if it does.
    'Author:     Allen Browne. allen@allenbrowne.com, June 2006.
    '
    'calling the Function: DateFormat(The_Date_Field)
    'a = dlookup("[some field]","some table","[id]=" & me.id & " And [Date_Field]=" & DateFormat(The_Date_Field))
    '

    
    If IsDate(varDate) Then
        If DateValue(varDate) = varDate Then
            DateFormat = Format$(varDate, "\#mm\/dd\/yyyy\#")
        Else
            DateFormat = Format$(varDate, "\#mm\/dd\/yyyy hh\:nn\:ss\#")
        End If
    End If
End Function

 

 

جعفر

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

7 دقائق مضت, ابا جودى said:

استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr :fff:

حتى مع ترك المسافة بعد كل And : 

لم احصل على النتيجة :blink:

[FirstName] ='m' And [LastName] ='e' And [DateOfBirth] =#02/11/2021# And [SIR]= -1

 

هل النتيجة تساوي صفر ؟؟؟؟؟؟

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

تفضل ........

Dim myWhere As String
myWhere = "[FirstName] ='" & [txtFirstName] & "'"
myWhere = myWhere & " And"
myWhere = myWhere & "[LastName] ='" & [txtLastName] & "'"
myWhere = myWhere & " And"
myWhere = myWhere & "[DateOfBirth] =#" & Format(Me.txtDateOfBirth.Value, "mm/dd/yyyy") & "#"
myWhere = myWhere & " And"
myWhere = myWhere & "[SIR]= " & [ChckSIR]
Debug.Print myWhere
Me.txtCount = DCount("*", "[tblTestCount]", myWhere)
If DCount("*", "[tblTestCount]", myWhere) > 0 Then MsgBox "This data is present and it cannot be repeated": Exit Sub

 

Test Dcout.mdb

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

أعتقد أن المشكلة ليست في الدالة وإنما في الجدول ، فقد لاحظت أن الجدول يزيد مسافات في الخلايا هكذا :

image.png.539a8652dce4ffb2bbcdd39837b2f233.png

شي آخر .. أنا أحب أن أحل هذه المشاكل بطريقة أسهل كما في المرفق 😁

Test Dcout.mdb

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

يغجبني كثيرا متابعة الاخوة استاذ @ناقل واستاذ @Moosak

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

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

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

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

اعتذر لانقطاعى المفاجئ عن الرد على اساتذتى الكرام واحبائى بسبب ظرف قهرى

اسأل الله تعالى لكم البركة فى العمر والعلم والرزق والأهل والأحباب وكل كلمات الشكر تقف امام مجهودكم ومشاركاتكم عاجزة

شكر الله لكم واحسن اليكم :fff::fff::fff:

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

14 ساعات مضت, jjafferr said:

كود جدا جميل ، وجدا عملي 🙂

 

استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr:fff:

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

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

ومن الان  لن اترك استعمال دالة التاريخ لابد ان تكون فى اى تطبيق 

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

14 ساعات مضت, Moosak said:

أعتقد أن المشكلة ليست في الدالة وإنما في الجدول ، فقد لاحظت أن الجدول يزيد مسافات في الخلايا هكذا :

image.png.539a8652dce4ffb2bbcdd39837b2f233.png

شي آخر .. أنا أحب أن أحل هذه المشاكل بطريقة أسهل كما في المرفق 😁

Test Dcout.mdb 284 kB · 4 downloads

لا علاقة للامر بالمسافات 

وللعلم تعمدت وضع المسافات الزائدة للوقوف على نتيجة الاجراء

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

حياك الله 🙂

 

1 ساعه مضت, ابا جودى said:

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

 

اسمح لي اوضح لك بعض النقاط عن  التاريخ :

  1. الاكسس يأخذ تنسيق التاريخ من اعداداتك في الوندوز ، إلا اذا قمت انت بعمل تنسيق آخر للتاريخ في قاعدة بياناتك (لاحظ ان كلامنا كله عن التنسيق ، وليس عن اصل التاريخ) ،
  2. انت لما عملت التنسيق هكذا: "mm/dd/yyyy" ، لأنه يتناسب مع التنسيق الذي رأيته في كمبيوترك ، بينما التنسيق في كمبيوتر مستخدم آخر يكون غير (وهذا ما حصل معي) ، فعليه لن يعمل الكود هناك !! وللتغلب على هذه الاشكالية ، استخدم التنسيق للطرفين:
    "Format([DateOfBirth], 'mm/dd/yyyy') ='" & Format(Me.txtDateOfBirth, "mm/dd/yyyy") & "'"

    لاحظ ان Format غيّرت نوع الحقل من تاريخ الى نص ، فتعاملي لها هنا هو نص ،

  3. ابحث في الانترنت عن "date format used natively by JET SQL" حتى تعرف ان المشكلة دولية 🙂

  4. داخليا واثناء تنفيذ العمل ، الاكسس يتعامل مع التواريخ بالتنسيق الامريكي: شهر/يوم/سنه ، لهذا السبب ، بعض الاوقات ترى في الاستعلامات ان الاكسس قلب بين اليوم والشهر (1 الى 12) !!
  5. الدالة DateFormat تقوم بتحويل التاريخ الى النظام الامريكي ، ومنها يكون التاريخ صحيح ،
  6. هناك حوار جميل عن تنسيق التاريخ ، وطريقة اخرى للقيام بالعمل ، كما هو موضح بطريقة الاستاذ @Hawiii 

جعفر

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

9 ساعات مضت, ابا جودى said:

وللعلم تعمدت وضع المسافات الزائدة للوقوف على نتيجة الاجراء

كيف جعلته يضيف المسافات تلقائيا أستاذي العزيز وما الحكمة من ذلك ؟

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

منذ ساعه, Moosak said:

كيف جعلته يضيف المسافات تلقائيا أستاذي العزيز وما الحكمة من ذلك ؟

كنت اريد التأكد هل وجود المسافات الزائدة تشكل فارق النتيجة المرجو الحصول عليها

اما عن سؤال حضرتك كيف اضفتها 

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

ـــــــــــــــ

لكن بوجه عام انا ان احببت اضافة مسافات وانا متعمدا لذلك 

اضغط على زر Alt   من لوحة المفاتيح ضغط مستمر وفى نفس الوقت اكتب الارقام 255 تلك طريقة الـ Asci :wink2:

 

تم تعديل بواسطه ابا جودى
  • Like 1
رابط هذا التعليق
شارك

6 دقائق مضت, ابا جودى said:

تعمدت التأكد من ان الحلول لن تأثر تلك المسافات عليها

هلا فعلا النتائج لم تتأثر بالمسافات الزائدة عندك حسب تجربتك؟

أنا كنت أفكر في دالة like أو دالة Trim كحلول لهذه المشكلة ..

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

6 دقائق مضت, Moosak said:

أنا كنت أفكر في دالة like أو دالة Trim كحلول لهذه المشكلة

حياالله ولد بلادي 🙂

استخدم Trim ، وابتعد عن Like قدر الامكان ، لأنها بطيئه نوعا ما 🙂

 

جعفر

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

2 دقائق مضت, jjafferr said:

حياالله ولد بلادي 🙂

حياك الله وبياك جعفر 😄 🌹

بصراحة أحس بالأنس وانت موجود في المنتدى 👍🏼😁

وشكرا على النصيحة 🌹

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

الان, Moosak said:

بصراحة أحس بالأنس وانت موجود في المنتدى 👍🏼😁

كلنا طلاب العلم فى هذا الصرح نحس بالأنس عند تواجد اساتذتنا العظماء

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

4 دقائق مضت, ابا جودى said:

كلنا طلاب العلم فى هذا الصرح نحس بالأنس عند تواجد اساتذتنا العظماء

أكيد طبعا أستاذنا الغالي @ابا جودى 😄

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

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.

×
×
  • اضف...

Important Information