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

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

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

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

لدى نموذج رئيسي وبه نموذج فرعى .. استخدم الكود التالى لاضافة بيانات الى الجدول الفرعى من النموذج الرئيسي :

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

 اسم الجدول المراد الاضافة به tbl_wared_motaba

وهذا هو الكود

Private Sub cmd_addsend_Click()
		On Error Resume Next
         Me.frm_wared_motaba.SetFocus
        
		 Dim rs As DAO.Recordset
         Set rs = CurrentDb.OpenRecordset("tbl_wared_motaba")
         rs.AddNew
         rs!id_emp_w = id_m
         rs!sn_user_Recv = sn_user_Recv
         rs!sn_user_Send = sn_user_Send
         rs!taxt_Tasera = taxt_Tasera
         rs!dd_end = dd_end
         rs!Date_End = Date_End
         rs!Date_start = Date_start
         rs.Update
         rs.close
         Me.frm_wared_motaba.Requery
End Sub

لقد حاولت التعديل لكن بات جميع المحاولات بالفشل

فهل من حل لمنع تكرار البيانات

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

السلام عليكم و رحمة الله تعالى و بركاته أستاذ محمد إن شاء الله تكون بخير:

تفضل جرب هذا الكود:

For i = 1 To DCount("*", "tbl_wared_motaba")
  If rs!id_emp_w = id_m And rs!sn_user_Recv = sn_user_Recv And rs!sn_user_Send = sn_user_Send And rs!taxt_Tasera = taxt_Tasera And rs!dd_end = dd_end And rs!Date_End = Date_End And rs!Date_start = Date_start Then
   x = 0
  End If
Next i

If x = 0 Then
         MsgBox ("لقد تم تسجيل هذه البيانات من قبل")
Else
On Error Resume Next
         Me.frm_wared_motaba.SetFocus
         Dim rs As DAO.Recordset
         Set rs = CurrentDb.OpenRecordset("tbl_wared_motaba")
         rs.AddNew
         rs!id_emp_w = id_m
         rs!sn_user_Recv = sn_user_Recv
         rs!sn_user_Send = sn_user_Send
         rs!taxt_Tasera = taxt_Tasera
         rs!dd_end = dd_end
         rs!Date_End = Date_End
         rs!Date_start = Date_start
         rs.Update
         rs.Close
         Me.frm_wared_motaba.Requery
MsgBox ("لقد تم تسجيل البيانات بنجاح")
End If

 

قام بنشر (معدل)
  في 12‏/11‏/2016 at 20:03, صالح حمادي said:

السلام عليكم و رحمة الله تعالى و بركاته أستاذ محمد إن شاء الله تكون بخير:

تفضل جرب هذا الكود:

For i = 1 To DCount("*", "tbl_wared_motaba")
  If rs!id_emp_w = id_m And rs!sn_user_Recv = sn_user_Recv And rs!sn_user_Send = sn_user_Send And rs!taxt_Tasera = taxt_Tasera And rs!dd_end = dd_end And rs!Date_End = Date_End And rs!Date_start = Date_start Then
   x = 0
  End If
Next i

If x = 0 Then
         MsgBox ("لقد تم تسجيل هذه البيانات من قبل")
Else
On Error Resume Next
         Me.frm_wared_motaba.SetFocus
         Dim rs As DAO.Recordset
         Set rs = CurrentDb.OpenRecordset("tbl_wared_motaba")
         rs.AddNew
         rs!id_emp_w = id_m
         rs!sn_user_Recv = sn_user_Recv
         rs!sn_user_Send = sn_user_Send
         rs!taxt_Tasera = taxt_Tasera
         rs!dd_end = dd_end
         rs!Date_End = Date_End
         rs!Date_start = Date_start
         rs.Update
         rs.Close
         Me.frm_wared_motaba.Requery
MsgBox ("لقد تم تسجيل البيانات بنجاح")
End If

 

Expand  

شكرا جزيلا استاذ صالح وبارك الله فيك

للاسف الكود يظهر الرسالة فقط هذه "لقد تم تسجيل البيانات من قبل" ولا يضيف بيانات  .. علما بان الحقول غير منضمة والنموذج الفرعى مرتبط بالنموذج الرئيسي بعلاقة راس باطراف

انظر..

 

 

022.gif

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

أخي محمد أنت قلت لا أريد الإضافة في حال التكرار هذا ما فهته من شرحك أخي

و هل يقوم بالإضافة في حال عدم و جود التكرار؟

جرب إدخال سجل غير موجود و أطلعني على النتائج أستاذ محمد

  • Like 1
قام بنشر (معدل)
  في 12‏/11‏/2016 at 20:33, صالح حمادي said:

أخي محمد أنت قلت لا أريد الإضافة في حال التكرار هذا ما فهته من شرحك أخي

و هل يقوم بالإضافة في حال عدم و جود التكرار؟

جرب إدخال سجل غير موجود و أطلعني على النتائج أستاذ محمد

Expand  

تحياتى لك اخى صالح

تفضل مرفق جرب بنفسك

لايقوم بالاضافة فى حالة عدم وجود تكرار

الفكرة انه لا اريد تكرار ارسال الوارد الى نفس الادارة اكثر من مرة واحدة وهى متمثالة فى الحقل هذا

sn_user_Recv 

المراسلات.rarFetching info...

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

الحمد لله لقد توصلت إلى الكود الذي يؤدي الغرض حسب ما فهمت أنا:

On Error Resume Next
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tbl_wared_motaba")
 x = 1
rs.MoveFirst
For I = 1 To DCount("*", "tbl_wared_motaba")
  If Nz(rs!id_emp_w, 0) = Nz(id_m, 0) And Nz(rs!sn_user_Recv, 0) = Nz(sn_user_Recv, 0) And Nz(rs!sn_user_Send, 0) = Nz(sn_user_Send, 0) And Nz(rs!taxt_Tasera, 0) = Nz(taxt_Tasera, 0) And Nz(rs!dd_end, 0) = Nz(dd_end, 0) And Nz(rs!Date_End, 0) = Nz(Date_End, 0) And Nz(rs!Date_start, 0) = Nz(Date_start, 0) Then
   x = 0
  End If
rs.MoveNext
Next I

If x = 0 Then
 msgBox ("لقد تم تسجيل هذه البيانات من قبل")
Else
         Me.frm_wared_motaba.SetFocus
         rs.AddNew
         rs!id_emp_w = id_m
         rs!sn_user_Recv = sn_user_Recv
         rs!sn_user_Send = sn_user_Send
         rs!taxt_Tasera = taxt_Tasera
         rs!dd_end = dd_end
         rs!Date_End = Date_End
         rs!Date_start = Date_start
         rs.Update
msgBox ("لقد تم تسجيل البيانات بنجاح")
End If
Me.Requery
Me.frm_wared_motaba.Requery
rs.close
Set rs = Nothing

 

المراسلات.rar

  • Like 1
قام بنشر
  في 12‏/11‏/2016 at 22:59, صالح حمادي said:

الحمد لله لقد توصلت إلى الكود الذي يؤدي الغرض حسب ما فهمت أنا:

Expand  

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

اسعد الله صباحك بكل خير

 

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

حاولت اغير على الكود الي انت استخدمته ولكن لم افلح

 

 

الي حاب اعمله

هو عند النقر المزدوج ينقل لي اسم واحد فقط من الدواء

الكود المرفق بالقاعده هو لعدم تكرار نفس الكود

وهو فعال وممتاز

لكن اذا ممكن تساعدني لعدم تكرار نص الاسم بغض النظر عن رقم الكود

 

القاعده موجوده في هذا المشاركه

 

واسف من الاخ محمد سلامه عالمداخله

 

  • Like 1
قام بنشر
  في 12‏/11‏/2016 at 22:59, صالح حمادي said:

الحمد لله لقد توصلت إلى الكود الذي يؤدي الغرض حسب ما فهمت أنا:

On Error Resume Next
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tbl_wared_motaba")
 x = 1
rs.MoveFirst
For I = 1 To DCount("*", "tbl_wared_motaba")
  If Nz(rs!id_emp_w, 0) = Nz(id_m, 0) And Nz(rs!sn_user_Recv, 0) = Nz(sn_user_Recv, 0) And Nz(rs!sn_user_Send, 0) = Nz(sn_user_Send, 0) And Nz(rs!taxt_Tasera, 0) = Nz(taxt_Tasera, 0) And Nz(rs!dd_end, 0) = Nz(dd_end, 0) And Nz(rs!Date_End, 0) = Nz(Date_End, 0) And Nz(rs!Date_start, 0) = Nz(Date_start, 0) Then
   x = 0
  End If
rs.MoveNext
Next I

If x = 0 Then
 msgBox ("لقد تم تسجيل هذه البيانات من قبل")
Else
         Me.frm_wared_motaba.SetFocus
         rs.AddNew
         rs!id_emp_w = id_m
         rs!sn_user_Recv = sn_user_Recv
         rs!sn_user_Send = sn_user_Send
         rs!taxt_Tasera = taxt_Tasera
         rs!dd_end = dd_end
         rs!Date_End = Date_End
         rs!Date_start = Date_start
         rs.Update
msgBox ("لقد تم تسجيل البيانات بنجاح")
End If
Me.Requery
Me.frm_wared_motaba.Requery
rs.close
Set rs = Nothing

 

المراسلات.rarFetching info...

Expand  

شكرا جزيلا اخي العزيز صالح حمادي

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

  • Like 1
قام بنشر (معدل)
  في 13‏/11‏/2016 at 08:42, co2002co said:

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

اسعد الله صباحك بكل خير

 

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

حاولت اغير على الكود الي انت استخدمته ولكن لم افلح

 

 

الي حاب اعمله

هو عند النقر المزدوج ينقل لي اسم واحد فقط من الدواء

الكود المرفق بالقاعده هو لعدم تكرار نفس الكود

وهو فعال وممتاز

لكن اذا ممكن تساعدني لعدم تكرار نص الاسم بغض النظر عن رقم الكود

 

القاعده موجوده في هذا المشاركه

 

واسف من الاخ محمد سلامه عالمداخله

 

Expand  

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

هل تريد تكرار الكود وعدم تكرار اسم الدواء؟؟

اذا كان نعم

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

تحياتي

 

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

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

اريد عدم تكرار الاسم

 

  في 13‏/11‏/2016 at 21:10, محمد سلامة said:

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

هل تريد تكرار الكود وعدم تكرار اسم الدواء؟؟

اذا كان نعم

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

تحياتي

Expand  

 

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