محمد سلامة قام بنشر نوفمبر 12, 2016 قام بنشر نوفمبر 12, 2016 (معدل) السلام عليكم ورحمة الله وبركاته لدى نموذج رئيسي وبه نموذج فرعى .. استخدم الكود التالى لاضافة بيانات الى الجدول الفرعى من النموذج الرئيسي : اريد التعديل عليه ليمنع التكرار اذا اضافة بيانات حقل سابق وجاء المستخدم ليكرار نفس البيانات تعطى رسالة بان البيانات تم تسجيلها من قبل وتراجع اسم الجدول المراد الاضافة به 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 لقد حاولت التعديل لكن بات جميع المحاولات بالفشل فهل من حل لمنع تكرار البيانات تم تعديل نوفمبر 12, 2016 بواسطه محمد سلامة
صالح حمادي قام بنشر نوفمبر 12, 2016 قام بنشر نوفمبر 12, 2016 السلام عليكم و رحمة الله تعالى و بركاته أستاذ محمد إن شاء الله تكون بخير: تفضل جرب هذا الكود: 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, 2016 الكاتب قام بنشر نوفمبر 12, 2016 (معدل) 39 دقائق مضت, صالح حمادي 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 شكرا جزيلا استاذ صالح وبارك الله فيك للاسف الكود يظهر الرسالة فقط هذه "لقد تم تسجيل البيانات من قبل" ولا يضيف بيانات .. علما بان الحقول غير منضمة والنموذج الفرعى مرتبط بالنموذج الرئيسي بعلاقة راس باطراف انظر.. تم تعديل نوفمبر 12, 2016 بواسطه محمد سلامة
صالح حمادي قام بنشر نوفمبر 12, 2016 قام بنشر نوفمبر 12, 2016 أخي محمد أنت قلت لا أريد الإضافة في حال التكرار هذا ما فهته من شرحك أخي و هل يقوم بالإضافة في حال عدم و جود التكرار؟ جرب إدخال سجل غير موجود و أطلعني على النتائج أستاذ محمد 1
محمد سلامة قام بنشر نوفمبر 12, 2016 الكاتب قام بنشر نوفمبر 12, 2016 (معدل) 12 دقائق مضت, صالح حمادي said: أخي محمد أنت قلت لا أريد الإضافة في حال التكرار هذا ما فهته من شرحك أخي و هل يقوم بالإضافة في حال عدم و جود التكرار؟ جرب إدخال سجل غير موجود و أطلعني على النتائج أستاذ محمد تحياتى لك اخى صالح تفضل مرفق جرب بنفسك لايقوم بالاضافة فى حالة عدم وجود تكرار الفكرة انه لا اريد تكرار ارسال الوارد الى نفس الادارة اكثر من مرة واحدة وهى متمثالة فى الحقل هذا sn_user_Recv المراسلات.rar تم تعديل نوفمبر 12, 2016 بواسطه محمد سلامة
صالح حمادي قام بنشر نوفمبر 12, 2016 قام بنشر نوفمبر 12, 2016 الحمد لله لقد توصلت إلى الكود الذي يؤدي الغرض حسب ما فهمت أنا: 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 1
co2002co قام بنشر نوفمبر 13, 2016 قام بنشر نوفمبر 13, 2016 9 ساعات مضت, صالح حمادي said: الحمد لله لقد توصلت إلى الكود الذي يؤدي الغرض حسب ما فهمت أنا: السلام عليكم ورحمة الله وبركاته اسعد الله صباحك بكل خير انا عندي تقريبا نفس المشكله وهي التكرار حاولت اغير على الكود الي انت استخدمته ولكن لم افلح الي حاب اعمله هو عند النقر المزدوج ينقل لي اسم واحد فقط من الدواء الكود المرفق بالقاعده هو لعدم تكرار نفس الكود وهو فعال وممتاز لكن اذا ممكن تساعدني لعدم تكرار نص الاسم بغض النظر عن رقم الكود القاعده موجوده في هذا المشاركه واسف من الاخ محمد سلامه عالمداخله 1
صالح حمادي قام بنشر نوفمبر 13, 2016 قام بنشر نوفمبر 13, 2016 أخي لم أفهم المطلوب البرنامج يعمل بشكل جيد يا ريت توضح المطلوب بالصور
محمد سلامة قام بنشر نوفمبر 13, 2016 الكاتب قام بنشر نوفمبر 13, 2016 21 ساعات مضت, صالح حمادي 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 المراسلات.rar شكرا جزيلا اخي العزيز صالح حمادي وبارك الله فيك 1
محمد سلامة قام بنشر نوفمبر 13, 2016 الكاتب قام بنشر نوفمبر 13, 2016 (معدل) 12 ساعات مضت, co2002co said: السلام عليكم ورحمة الله وبركاته اسعد الله صباحك بكل خير انا عندي تقريبا نفس المشكله وهي التكرار حاولت اغير على الكود الي انت استخدمته ولكن لم افلح الي حاب اعمله هو عند النقر المزدوج ينقل لي اسم واحد فقط من الدواء الكود المرفق بالقاعده هو لعدم تكرار نفس الكود وهو فعال وممتاز لكن اذا ممكن تساعدني لعدم تكرار نص الاسم بغض النظر عن رقم الكود القاعده موجوده في هذا المشاركه واسف من الاخ محمد سلامه عالمداخله اهلا بك اخي الكريم هل تريد تكرار الكود وعدم تكرار اسم الدواء؟؟ اذا كان نعم فكود الاستاذ صالح يفي معك بالغرض بشرط تعديل بسيط علي الكود.. سوف اذكره لك عندما اجلس علي الكمبيوتر تحياتي تم تعديل نوفمبر 13, 2016 بواسطه محمد سلامة 1
co2002co قام بنشر نوفمبر 14, 2016 قام بنشر نوفمبر 14, 2016 السلام عليكم ورحمة الله وبركاته اريد عدم تكرار الاسم 7 ساعات مضت, محمد سلامة said: اهلا بك اخي الكريم هل تريد تكرار الكود وعدم تكرار اسم الدواء؟؟ اذا كان نعم فكود الاستاذ صالح يفي معك بالغرض بشرط تعديل بسيط علي الكود.. سوف اذكره لك عندما اجلس علي الكمبيوتر تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.