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

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

قام بنشر

السلام عليكم

استخدمت خاصية البحث ولقيت مواضيع تشبه موضوعي لكن جربتها وماضبطت فارجو المساعدة انا عندي فورم فيه 4 حقول الاول مفتاح رئيسي ابغى من اول ماادخل القيمه تطلع رساله ان الحقل مكرر وشكرا

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

لنفرض عندك في الجدول حقلين : IDNumber-Name

طبعا IDNumber مفتاح رئيسي و لايجوز تكراره .

نفرض أنك تريد رساله تشعرك أن قيمة الحقل -Name دخلت سابقا

Private Sub Name_beforeUpdate()

    If DCount("Name", "MyTable", "[Name]=" & Me.name) > 0 Then

     MsgBox "    هذا الاسم تم تكراره سابقا"
cancel=true
        End If
end sub

تم تعديل بواسطه rudwan
قام بنشر

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

  • Like 1
قام بنشر

ضع هذا الكود اينما تريد يحقق لك ما تريد

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

قام بنشر

ماشاء الله عليك ضبط معاك لكن انا اضبط والسبب اني مو عارف

id الاولى هل تقصد فيها الحقل اللي في الجدول او النموذج ونفس الشي لـباقي id ....

If DCount("id", "Table1", "[id]=" & Me.ID) > 0 Then

قام بنشر

id هو اسم الحقل الذي تريد عدم تكرار قيمته

table1 اسم الجدول الموجود فيه ذلك الحقل

غير في ذلك الكود فقط اسماء الحقول و الجدول , و معنى ذلك الكود أنك تقول له

أحصي لي عدد القيم المساويه لهذه القيمة المدخله في السجلات السابقه

فاذا كان العدد أكثر من 0 يعني تم ادخال قيمه قبل

أما أسماء الحقول بالعربي فلاتؤثر , و لكن ضع الأسماء بين مربعين كما يلي

If DCount("[id]", "[table1]", " [id]=" & Me.[ID]) > 0 Then

و ان كان من الأفضل تسميتها بالانكليزي

قام بنشر

عملت اللي قلت وماضبط وسبق اني طبقت اكواد ثانية وكلها مايضبط الظاهر المشكلة فيني مش في الكود

المهم انا تعبت ومليت و وحاولت ارفق الملف لكن مالقيت ايقونة الارفاق المهم بحاول اشرح لك الوضع

عندي جدول اسمه المدرسة فيه 5 حقول والحقل اللي ابغاه مايتكرر هو رقم_المدرسة وعندي نموذج ادخال البيانات اضيف من خلاله بيانات الجدول السابق ورقم_المدرسة هنا في النموذج اسمه sclno يعني هذا الحقل له اسم في الجدول غير اللي في النموذج ، حاول الله يعطيك العافيه انك تكتب لي الكود بناء على اسماء الحقول السابقة الذكر وجرب تضبط والا لا لاني شوي وانجن .

هذا المطلوب وجزاك الله كل خير

قام بنشر

كمان لاتقولي غير الاسماء للانجليزي....... مااقدر ،،، لان قاعدة البيانات ضخمه ولسا منتهي من اعدادها ومااقدر اغير شي شوف لي حل واسماء الحقول بهذا الشكل ..... شكرا جزيلا

قام بنشر

البرمجه تعب , و لا تستطيع أن تحل أي مشكله بدون تعب

أنا أحيانا أجلس في تصحيح خطأ في كود ساعات و أحيانا أيام حتى يظبط

و في الآخر يكون الخطأ في نقطه أو فاصله منقوطه أو قوس ... الخ

على كل حال ارفق ملفك هنـــــــــــــــــــا

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

اخي الفاضل اعمل حقل غير منضم وضع في هذه المعادلة

يكون اسمة TEXT2

=DLookUp("id","t1","id=text1")
id هو الحقل المطلوب عدم تكرارها t1 هو الجدول الموجود به الحقل text1 هو الحقل id بعد تغييراسمه في خصائص النموذج ثم في الحقل الذي ترغب عدم تكراره بعد التعديل ضع هذا الكود
Private Sub text1_AfterUpdate()
text2.Requery
If Not IsNull(text2) Then
MsgBox " الرقم مكرر", vbCritical, "تنبيه"
Me.Undo
End If
End Sub

مع مراعاة تغيير اسم الجدول عندك وكذلك اسماء الحقول

بالتوفيق ان شاء الله

تم تعديل بواسطه الطـاير
قام بنشر

مثلما قلت لك الكود الذي وضعته لك أولا كان يقرأ قيمة الحقل الحالي اذا كان رقم اي

me.sclno

و لكن , لأن استخدمت نصا و ليس رقما , يعني رسالة الخطأ كانت لأنه لم يفهم القيمه المرره له الا اذا تم تنسيقها على اساس نص أي

"me.sclno"

chr(39)  = "

هذا كل ما في الأمر

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