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

التاكد من عدم تكرار المفتاح الاساسي عند تشغيل الاستعلام الالحاقي


gavan
إذهب إلى أفضل إجابة Solved by دروب مبرمج,

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

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

انا لدي جدول رئيسي و جدول فرعي يتم ملئه بواسطة استعلام الحاقي من الجدول الرئيسي

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

عند تشغيل الاستعلام الالحاقي اذا كانت القيم موجودة ظهر رسالة تقول ذلك واذا لم تكن موجودة رسالة هل تريد القيام بذلك ok و يخلص الموضوع 

 

تحياتي لكم

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

استخدم دالة التجميع الشرطية DCount

مثال على ذلك

DCount("*","Table_Name","[ID]=" & [Forms]![Forms_Name]![TextBox1])

هنا نكون قد طلبنا من الدالة عدد السجلات التي تحمل نفس الرقم في مربع النص TextBox1

و يمكن بهذا الطريقة اضافة شرط كما يلي

If DCount("*", "Table_Name", "[ID]=" & [Forms]![Forms_Name]![TextBox1]) <> 0 Then

    If MsgBox("تم تسجيل الصنف من قبل" & _
    vbNewLine & "هل تريد اضافة الصنف مرة أخرى؟" _
    , vbQuestion + vbMsgBoxRight + vbYesNo, "تنبيه") = vbYes Then
        DoCmd.RunCommand acCmdSave
        MsgBox "تم اضافة صنف مشابه بنجاح", vbInformation + vbMsgBoxRight, "تأكيد"
    Else
        DoCmd.RunCommand acCmdUndo
        MsgBox "تم التراجع عن الحفظ", vbCritical + vbMsgBoxRight, "تأكيد"
    End If
    
Else

    MsgBox "تم تسجيل الصنف بنجاح", vbInformation + vbMsgBoxRight, "تأكيد"

End If

يجب عليك الغاء المفاتيح الاساسية لكي تستطيع تنفيذ الشروط اعلاه

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

مشكور جدا اخي  kkhalifa1960

ارفقت مثالك من جديد وبه القليل من التحوير في النموذج , ولكن عند اظافة سجل مغاير يقول انه تم اظافته مع العلم الجدول 2 لايحتويه

اقتباس

 

DD409.accdb

كل الهلا بيك اخي العالي دروب مبرمج

ولكن فائدة المفاتيح الاساسية هي لعدم تكرار البيانات الثلاثة (المفاتيح الاساسية الثلاث) عند الالحاق, حيث تظهر رسالة بان السجل موجود ولن يتم الاظافة , كل الشكر و التقدير لك يالغالي

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

و سويت مثل هذا المثال ايظا ماظبط معي

If DCount("[ID]", "R_DependFromQ", "[MonthNumber] = " & "'" & Me!ComboMAdd & "'" & "And [YearNumber] = " & "'" & Me!ComboYAdd & "'") Then
   
   
     MsgBox "A contact with these details already exists:-" & vbCrLf, vbOKOnly + vbExclamation
        Cancel = True 'Cancel the update

حيث [id] , [momthNumber ] , [yearNumber]  مفاتيح اساسية , ويتم تزويد الجدول الالحاقي بواسطة الشهر و السنة من خلال 2 كومبوبوكس للشهر و السنة , فاذا كانت موجودة الشهر و السنة يعطي ايعاز بانها موجودة, و اذا لا, يظاف الى الجدول 

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

شكرا اخي kkhalifa1960

المثال الذي ارفقته يلحق فقط شخص , وبعدها يقول ان المعلومات مرفعة مسبقا , مع العلم انها ليست موجودة في الجدول الثاني

اليك مرفقي لو سمحت ان تعدل فيه اكون شاكرا لك , تحياتي

اقتباس
اقتباس

 

 

 

DD409.accdb

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

شكرا لكم جميعا بالاخص الاخ دروب مبرمج و الاخ شايب والله شيبتني هههه , ولا ننسى الاخ خليفة (اعزكم الله جميعا)

بالرجوع الى المرفقات وخاصة مرفق الاخ دروب مبرمج , حيث عملت على الكود المخصص ل Add وحورته ليناسب برنامجي ووفقت في ذلك و الحمد لله .

و بالنسبة الى سوال الاخ ابو وحيد اعتقد انك بحاجة الى كود 

Docmd.cancelEvent

Me.Undo

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

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

في 16‏/11‏/2023 at 20:30, gavan said:

انا لدي جدول رئيسي و جدول فرعي يتم ملئه بواسطة استعلام الحاقي من الجدول الرئيسي

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

في حل الاستاذ @دروب مبرمج هل لاحظت أن الجدول الثاني ليس به مفاتيح 

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

20 ساعات مضت, gavan said:

الاخ شايب والله شيبتني هههه

بسم الله عليك

48 دقائق مضت, kkhalifa1960 said:

في حل الاستاذ @دروب مبرمج هل لاحظت أن الجدول الثاني ليس به مفاتيح 

ههههه انا انتبهت من امس بس ماعلقت 😃

الشايب

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

اخى الكريم الاستاذ  gavan

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

ويتم رفض ادخل الرقم ويضع التركيز على الحقل لادخل غيره 

ولكنى لا اتسطيع كتابه الكود 

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

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