• 0
Abo_abdlh

عدم تكرار الوردية في نفس اليوم

سؤال

بسم الله الرحمن الرحيم

 

الحمد لله والصلاة والسلام على سيدنا رسول الله صلى الله عليه وسلم

 

الاخوة الافاضل

 

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

 

عندي مشكلة واريد عدم تكرار الوردية في نفس التاريخ  مثال

 

1/3/2014 نهار

1/3/2014 ليل

1/3/2014 نهار ( تظهر رسالة خطأ)

 

استخدمت الكود التالي ولم يعمل معي جيداً

 

    If DCount("[invoiceDate]", "Productions", "[invoiceDate]=InvoiceDate  and [WorkTime]=WorkTime") > 1 Then
       MsgBox "التاريخ والوردية مكررين", vbInformation, "mado"
       DoCmd.GoToControl "InvoiceDate"
       DoCmd.CancelEvent
       Me.Undo
    End If
 

 

 

برجاء مراجة الكود والمساعدة في حل المشكلة

 

ولكم جزيل الشكر

 

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

db3.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

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

 

 

 

أخي الكريم

 

بص يا سيدي:

DCount-DLookup_DSum_DMax وماشبه ؛ لازم تفرق له في نوع المعيار المرسل مع الاستعلام

لان الدوال السابقة بتفرق في أنواع المعايير ؛ يعني التاريخ ليه طريقة معينة في الارسال والنص ليه طريقة معينة في الارسال و الرقم ليه طريقة معينة في الارسال

التاريخ لازم يكون معاه علامة التنصيص #  1-1-2014 #

والنص لازم يكون معاه علامة التنصيص "AAAAA"

اما الرقم فبيرسل من دون علامات تنصيص 000000

 

ده كمان بالاضافة أنك وانت بتكتب المعيار علشان تبعته مع الدالة لازم تفرق بين جملة SQL  وبين المعيار اللي بيتكبه داخل جملة SQL

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

لذلك في الكتابة بنلجي ديما لاستخدام علامة & إلي من خلالها بنقدر ننهي جملة SQL  ونكتب معيار مع الجملة نفسها .....

 

"مش عارف عارف أوصلك المعلومة ولا :D "

 

علي العموم أتفضل الكود بعد التعديل وشوف أنت عايز توظفه فين ؛؛؛؛

 

 

الكود بعد التعديل

DCount("[InvoiceDate]", "Productions", "[InvoiceDate]=#" & [InvoiceDate] & "# And [WorkTime]=" & [WorkTime])

قارن بينه وبين الكود اللي انت كاتبه حتعرف الفرق

 

 

أوعي تنسانا من دعائك

 

ربنا معاك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خيرا اخي الكريم على الشرح الممتع

 

جربت الكود ولم يعمل معي جيدا للاسف

 

فارجو منك تطبيقه على المثال المرفق ولك جزيل الشكر

 

http://arabteam2000-forum.com/index.php?app=core&module=attach&section=attach&attach_id=150504

 

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الكريم

 

الموضوع ابسط مما تتخيل ... بس هو محتاج شوية تركيز :D

 

في الكود اللي مكتوب ؛ أنت كتبت في حالة انها اكبر من واحد ؛ ودي مشكلة ؛ عارف ليه ؟؟ علشان القيمة وانت بتكتب بتكون لسه متسجلتش في الجدول ؛ ومعني كده انه حيظهر ليك الخطأ لما تكون القيمة اكبر من واحد ؛ يعني الرسالة حتظهر لما تكون القيمة 2 فأكثر

أذن احنا محتاجين اننا نقول لما القيمة تكون اكبر او يساوي واحد بالشكل ده

>=

طيب يبقي شكل الكود ايه في الاخر

DCount("[InvoiceDate]", "Productions", "[InvoiceDate]=#" & [InvoiceDate] & "# And [WorkTime]=" & [WorkTime]) >= 1

في نقطة كمان ؛ انت مفعل الحدث عن النقر علي قائمة الاختيار ؛ وده كلام مش سليم ؛ ضيف الكود في حدث بعد التحديث علي مستوي الحقل الاول والحقل التاني ..... :)

 

جربها باديك وحتلاقيها تمام :)

 

 

أوعي تنسانا من دعائك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف الف مليون شكر لك اخي الكريم وجزاك الله خيرا

 

طيب الله يرضى عليك تحملني قليلا

 

الكود يعمل عند حدث بعد التحديث لمربع النص InvoiceDate ولكنه لا يعمل عند مربع تحرير وسرد WorkTime

 

ولا اعلم اين المشكلة بالضبط

 

ولك جزيل الشكر مقدما

 

تجياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل المرفق بعد التعديل

 

 

db3_edit.rar

 

 

لا تنسونا من الدعاء

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .