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

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

قام بنشر

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

قمت بإضافة كود في نموذج العملاء

يسمح بالحفظ فقط عن طريق زر حفظ

عدم السماح بتكرار المعلومات

Option Compare Database
Private msaved As Boolean

Private Sub btnSave_Click()
On Error GoTo btnSave_Click_Err

    On Error Resume Next
    msaved = True
.
.
.
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If msaved = False Then
Cancel = True
Me.Undo
Cancel = False
End If
'للتأكد من عدم تكرار المعلومات
If DCount("[إسم العميل]", "العملاء", "[إسم العميل] = [forms]![العملاء]![إسم العميل]") >= 1 Then
Cancel = True
Me.Undo
MsgBox "إسم العميل الذي أدخلته موجود مسبقا", vbExclamation, "معلومات مكررة"
Me.العميل_إسم.SetFocus
End If
End Sub
Private Sub Form_current()
msaved = False
End Sub

المشكلة التي تواجهني الآن هي

لو كان العميل مسجل مسبقا وأريد تعديل بعض البيانات بالضغط على زر تعديل

عند الحفظ تظهر رسالة تكرار المعلومات

كيف يمكن تجاوز هذه المشكلة

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

الفاتورة 8.rar

قام بنشر

السلام عليكم

المشكلة نابعة من وقت الحدث  وهو قبل التحديث

اذا كنت تسعى لزيادة الضبط في الادخال فاستخدم  نموذج ادخال بيانات وللتعديل استخدم نموذج عرض

قام بنشر

معذرة فأنا لم اطلع على المرفق بسبب الاصدار

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

 

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

من خصائص النموذج / لسان التبويب بيانات /اجعل القيمة : ادخال بيانات=نعم

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

  ولا مانع من وضع الضوابط مثل الكود اعلاه

اما التعديل فشأنه مختلف ويمكن اجراء التعديل من نموذج آخر لايشتمل على هذا الكود

قام بنشر

إذن سأقوم بإنشاء نموذجين

الأول : مهمته إدخال البيانات فقط بالضوابط التي أريدها

الثاني : مهمته تعديل البيانات

إعذرني على جهلي

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

هذه هي صورة النموذج لدي

56b8a70601012_.PNG.e7bc16587835e8f4fc17c

قام بنشر

بلى يمكن العمل على نموذج احد وانما  عرضت عليك  ما رأيته الافضل

جرب  :

عدل على اسم العميل اولا ثم انتقل الى اي حقل تريد وعدل عليه  فسترى انه يقبل  والحفظ يستجيب 

من هذا يمكن ان نقول :

يمكنك تعديل الكود  حتى يقبل التعديل وذلك بزيادة الشروط حسب الحقول الموجودة

فالكود اعلاه يقول : اذا عدد اسم العميل في الجدول اكبر من او يساوي واحد بشرط ان اسم العميل في الجدول يساوي اسم العميل في النموذج . 

وزيادة  الشروط هكذا :

اذا عدد اسم العميل في الجدول اكبر من او يساوي واحد بشرط ان اسم العميل في الجدول يساوي اسم العميل في النموذج والعنوان في الجدول يساوي العنوان في النموذج والهاتف في الجدول يساوي الهاتف في النموذج  وهكذا ... 

اذا لم تتمكن من التطبيق

سأحاول ارفاق مثال من عندي 

  • Like 1
قام بنشر

أستذنا أبو خليل

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

لكن صادفني هذا الكود للاستاذ رمهان

If Nz(DLookup("id", "[تنظيم الجدول]", "[كود اليوم]&[الفترة]&[القاعة]&[الدكتور]='" & كود_اليوم & الفترة & القاعة & الدكتور & "'"), 0) <> id Then Cancel = MsgBox("مكرر")

لم أستطع استيعاب بناء الجملة

إذا تكرمت علينا باستبدال العربية بالانكليزية

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

حتى نستوعبه

آآآآآآآآآآآآآآسف على كثرة الطلبات

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

أستذنا أبو خليل

لقد قمت بتطبيق المثال الأخير

If DLookup("رقم", "جدول", "[إسم العميل]='" & Forms![نموذج]![إسم العميل] & "'") <> رقم Then

Capture111.PNG.90f72c45404904c39d598a525

لكن المشكلة التي واجهتني هي

إذا كان إسم "Primary Key" في الجدول يتكون من مقطع واحد مثلا "رقم" اشتغل البرنامج عادي

أما إذا كان يتكون من مقطعين كمثل "رقم العميل" وهو الحاصل عندي

لا يشتغل البرنامج

ومهما غيرت لم أفلح

فمرة الشرط لا يشتغل ويسجل كل شيء

ومرة لا يسجل أي شيء

وأخرى بناء الكود يحتوي على خطأ

كما أني لا أستطيع تغير الاسم لأنه مرتبط ببيانات أخرى

 

هذا جزاء من لا يتبع القواعد في التسمية

أكاد أجن من هذا الكود

ساعدني من فضلك

بيانات مكررة.rar

تم تعديل بواسطه بوعبد الله محفوظ

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