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

منع التكرار في النموذج الفرعي


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

السلام عليكم 

لدي جدول رئيسي يحتوي علي الحقول التالية 

رقم العقد - تاريخ العقد - الاسم

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

رقم البنك وتاريخ البنك.. 

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

اسم المدينة ورقم المطالبة وتاريخه 

السؤال كيف امنع تكرار اسم المدينة و تاريخ المطالبة من التكرار في العقد الواحد اي كيف امنع التكرار في الجدول الفرعي الاخير بناء علي الجدول الرئيسي الاول 

اتمني ان اجد المطلوب من السادة الاعضاء. ..شكرا مقدما

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

13 ساعات مضت, أبو آدم said:

ارفق قاعدة للتطبيق مع بعض المعلومات في الجداول ... لطفا

السلام عليكم

شكرا جزيلا اسناذنا العزيز

009.thumb.png.26d26d6db528b448be4694f7f857e740.png 

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

اذا تغيرت اسم المدينة او فترة الاستحقاق في نفس الشركة يقبل الادخال

مرفق القاعدة للتطبيق

test.rar

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

9 ساعات مضت, أبو آدم said:

نريد ضبط منع التكرار في نموذج ...

جربت أفكار كثيرة و لكنها تعتمد على تحليل وتصميم عمليات و نماذج الادخال

السلام عليكم استاذ نارت وجزاك الله خير الجزاء علي تواصلك

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

والمطلوب منع التكرار  عند الادخال في النموذج الفرعي الثاني 

تحياتي لحضرتك @أبو آدم

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

9 ساعات مضت, مسفر said:

هل المقصود 

عدم تكرار المدينة فقط  رغم تغير فترة الاستحقاق ؟

لاني ارى في الصورة الرياض مكررة مرتين بتاريخ مختلف ؟

 

اهلا بك اخي مسفر 

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

واذا تكررت المدينة في تاريخ مختلف يقبل الادخال

شكرا لك وانتظر المساعدة

 

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

السلام عليكم

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

1- اعمل استعلاما يجمع بين رقم الشركة من الجدول الرئيس واسم المدينة والتاريخ من الفرعي

2- اعمل متغيرا نصيا  عاما  يحمل رقم الشركة عند كل اختيار  او تغيير للشركة  في النموذج الرئيس 

3- في حدث قبل التحديث  لحقل التاريخ  مثلا   في النموذج الفرعي  اعمل بحث و مقارنة  :

ايجاد عدد السجلات في الاستعلام  بحيث :( اسم المدينة + التاريخ +رقم الشركة)  = (اسم المدينة + التاريخ + متغير رقم الشركة) في السجل الحالي .. 

اذا الناتج اكبر من صفر   فيعني ان السجل الحالي مكرر  ...

 

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

3 ساعات مضت, ابوخليل said:

السلام عليكم

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

1- اعمل استعلاما يجمع بين رقم الشركة من الجدول الرئيس واسم المدينة والتاريخ من الفرعي

2- اعمل متغيرا نصيا  عاما  يحمل رقم الشركة عند كل اختيار  او تغيير للشركة  في النموذج الرئيس 

3- في حدث قبل التحديث  لحقل التاريخ  مثلا   في النموذج الفرعي  اعمل بحث و مقارنة  :

ايجاد عدد السجلات في الاستعلام  بحيث :( اسم المدينة + التاريخ +رقم الشركة)  = (اسم المدينة + التاريخ + متغير رقم الشركة) في السجل الحالي .. 

اذا الناتج اكبر من صفر   فيعني ان السجل الحالي مكرر  ...

 

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

سوف ارفق مثال وبه نماذج لطريقة الادخال

ليتم التطبيق عليه

 

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

الاستاذ محمد  انا لا اوافقك بجعل المستخدم يدخل اسم المدينة كتابة ..  حيث يجب الاختيار من قائمة

حيث يكون عرضة للاخطاء الاملائية المقصودة وغير المقصودة

مثلا في مثالك انت قمت بكتابة البحة بدلا من الباحة

تم عمل المطلوب  ويمكنك التجربة

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

db1.rar

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

58 دقائق مضت, ابوخليل said:

الاستاذ محمد  انا لا اوافقك بجعل المستخدم يدخل اسم المدينة كتابة ..  حيث يجب الاختيار من قائمة

حيث يكون عرضة للاخطاء الاملائية المقصودة وغير المقصودة

مثلا في مثالك انت قمت بكتابة البحة بدلا من الباحة

تم عمل المطلوب  ويمكنك التجربة

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

db1.rar

اشكرك جزيلا الشكر استاذي العزيز ابوخليل

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

وجاري نقل الكود والتنفيذ

والله يا استاذنا لي 4 ايام كاملين بحاول بدون الوصول لحل.. الحمد لله

اسال الله ان يغفر لك ذنوبك في هذا الشهر الكريم الذي ترفع فيه الاعمال شهر شعبان

واشكرك جزيلا الله يبارك فيك

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

السلام عليكم

: اجعل الحقول الثلاثة   

الشركة - المدينة - التاريخ ------>   مفتاحاً أساسياً

عندها لن يقبل  الجدول التكرار و سعيتبر الثلاثة مفتاحاً واحداً .

أرجو أن أكون قد وفقت لفهم مقصدك

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

 

15 ساعات مضت, محمد سلامة said:

وجاري نقل الكود والتنفيذ

 

السلام عليكم استاذنا ابوخليل

بعد نقل الكود اوجه مشكلة فى المتغير Dim db1 As Database


image.thumb.png.2d621c2876cdb9ac37e06ede38e1b3ae.png

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

جرب 

dim db1 as dao.database

وتكرما مشاركة ابا خليل بدون ضغط حيث لم استطع رؤية ابداعه لعدم وجود النسخة الاخيره من الوينرار

مشكورين

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

في ٢٠‏/٤‏/٢٠١٨ at 21:47, رمهان said:

جرب 

dim db1 as dao.database

وتكرما مشاركة ابا خليل بدون ضغط حيث لم استطع رؤية ابداعه لعدم وجود النسخة الاخيره من الوينرار

مشكورين

اهلا وسهلا بك استاذ @رمهان والله ليك شوقه تغييب تغيب وتظهر كالجواد

فعلا استخدمت dao وتم الامر وتم حل المشكلة بنجاح

واشكر جدا الاستاذ @ابوخليل على مساعدته .. الله يبارك فيه ويسعده

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

 

'وهذا هو الكود ياستاذ رمهان حسب طلبك لتطلع عليه
'وايضا لمن ياتى من بعدنا حتى يستفيد منه 
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim x As String
Dim db2 As Database
Dim rs As Recordset
Set db2 = CurrentDb
Set rs = db2.OpenRecordset("SELECT [id_company] & [taxt_name1] & [date_f] AS Expr1 " & vbCrLf & _
"FROM tbl_company INNER JOIN (tbl_custom INNER JOIN tbl_demand ON tbl_custom.id_custom = tbl_demand.emp_id) ON tbl_company.id_company = tbl_custom.emp_company " & vbCrLf & _
"WHERE (((tbl_company.id_company)=wrcmpny()))")
x = wrcmpny() & taxt_name1 & date_f
rs.MoveFirst
Do While rs.EOF = False
If rs!Expr1 = x Then
MsgBox "ÓÌá ãßÑÑ"
Undo
Exit Sub
End If
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
End Sub

تحياتى ،،

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

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