alsajy قام بنشر سبتمبر 3, 2011 قام بنشر سبتمبر 3, 2011 السلام عليكم ورحمة الله كل عام وأنتم بخير لدي برنامج موظفين وفيه كود لعرض بيانات الموظف عند إدخال رقم الموظف ولكن بشرط أن يكون رقم الموظف من نوع رقم وليس نص المطلوب هو التعديل على هذا الكود بحيث يعمل على رقم الموظف وإن كان من نوع نص Text لأن رقم الموظف يحتوي على أرقام وأحرف . والمثال مرفق Dim myrec As Recordset Dim rs As Object Set rs = Me.Recordset.Clone Set myrec = CurrentDb.OpenRecordset("SELECT [sn] as MyNO" & _ " FROM Table1 " & _ " WHERE ((([sn]) =" & Me.sn & ")) " & _ " GROUP BY [sn];") If myrec.RecordCount > 0 Then Undo rs.FindFirst "[sn] = " & Str(myrec!MYNO) If Not rs.EOF Then Me.Bookmark = rs.Bookmark ElseIf myrec.RecordCount = 0 Then If MsgBox(" åÐÇ ÇáÑÞã ÛíÑ ãæÌæÏ ! ! ! åá ÊÑíÏ ÅÖÇÝÉ ÈíÇäÇÊ ÌÏíÏå ¿ ", _ vbCritical + vbYesNo + vbMsgBoxRight + vbDefaultButton1, _ " äÊíÌÉ ÇáÈÍË ") = vbYes Then DoCmd.GoToControl "nametxt" Else Undo DoCmd.GoToRecord , , acNewRec Me.sn.SetFocus End If End If عمل هذا الكود كالتالي: عند إدخال رقم الموظف إذا كان هذا الموظف مدخل في البرنامج مسبقاً تظهر بياناته مباشرة , وإذا كان غير مدخل في البرنامج تظهر رسالة بنعم أو لا بإن هذا الموظف غير موجود في البرنامج هل تريد إظافته؟ فإذا كان الجواب لا تتصفر البيانات من جديد وإذا كان الجواب نعم يبقى الرقم الذي أدخلته وتفتح خانات جديده لبقية البيانات. وقد عدلت في هذا الكود حتى أصبح يعمل بالطريقة المذكورة ولكن أريد الآن أن يعمل على رقم الموظف من نوع نص Text وليس رقم . وإذا كان هناك كود آخر يفي بالغرض لا ما نع ... والمثال مرفق أرجو المساعدة من مشرف الأكسس Searchby Text.rar
Bluemind قام بنشر سبتمبر 3, 2011 قام بنشر سبتمبر 3, 2011 اخوي اولا لم تغير مصدر جمله sql في الكود وتركته table1 و الصحيح table2 Set myrec = CurrentDb.OpenRecordset("SELECT [sn] as MyNO" & _ " FROM Table2 " & _ " WHERE ([sn]) = """ & Me.sn & """" & _ " GROUP BY [sn];") ثانيا لايد من اضافه علامات اقتباس اذا كنت تريد التعامل مع بيانات من نوع نص في هذا الكود " WHERE ([sn]) = """ & Me.sn & """" & _ " GROUP BY [sn];") وهنا ايضا rs.FindFirst "[sn] = '" & CStr(myrec!MYNO) & "'" شاهد المرفق بعد التعديل عليه وننتظر اجابتك Searchby Text.rar
أبو آدم قام بنشر سبتمبر 3, 2011 قام بنشر سبتمبر 3, 2011 فتح الله عليك يا أخي منذ ساعة وبعد ان عدلت ما يجب ، وانا ابحث عن سبب عدم تطبيق الكود ،،، مرت علي table1 , table2 سبحان الله ... جزيت خيرا
alsajy قام بنشر سبتمبر 6, 2011 الكاتب قام بنشر سبتمبر 6, 2011 السلام عليكم المعذرة على تأخري في الرد يبدو أني ما وضحت المثال لأني جعلت فورمين وجدولين ولكن الآن جعلته فورم واحد وجدول واحد وهو ما زال لا يعمل لماذا ؟؟؟ لأن رقم الموظف في الجدول من نوع نص .. هل تستطيع الآن أن تعدل في الكود كما تفضلت بارك الله فيك مع أني حاولت وضع علامتي تنصيص ولكن ما زال هناك خطأ ما دري فين windows-1256__Searchby Text.rar
alsajy قام بنشر سبتمبر 6, 2011 الكاتب قام بنشر سبتمبر 6, 2011 السلام عليكم ورحمة الله وبركاته أخي الكريم شوف المثال بعد التعديل على الكود ووضع علامتي تنصيص كما شرحت بارك الله فيك ولاكن ما يظهر إلا الرقم الأول فقط وأيضاً عند إدخال رقم جديد فوق رقم جديد تظهر رسالة بأن الموظف غير موجود هل تريد إضافته وعند الجواب بنعم يتم الكتابه فوق رقمه القديم !! فهل من حل آخر لهذه المشكلة؟؟؟ المثال مرفق بعد التعديل SearchbyText_3.rar
Bluemind قام بنشر سبتمبر 7, 2011 قام بنشر سبتمبر 7, 2011 اخوي بالنسبه للمشكله الاولى: نسيت ان انبه على استخدام الداله CStr بينما انت استخدمت الداله Str في السطر البرمجي التالي: "[sn] = '" & CStr(myrec!MYNO) & "'" ولم تقم بالتعديل عليها بالنسبه لمشكله الكتابه على السجل القديم فهذا شي طبيعي في الاكسس لانك تستخدم نفس حقل الرقم كا حقل للبحث الحل اضافه مربع نص غير معتمد على اي حقل شاهد المرفق SearchbyText_3.rar
alsajy قام بنشر سبتمبر 7, 2011 الكاتب قام بنشر سبتمبر 7, 2011 ياسلام عليك ماشاء الله جزاك الله الف خير هذا المطلوب وسوف أقوم بتعديل طفيف على خانة الأسم حيث تتم كتابة رقم الموظف مباشرة في خانة رقم الموظف الف شكر لك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.