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

أريد كود يظهر ويظيف برقم الموظف


alsajy

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

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

كل عام وأنتم بخير

لدي برنامج موظفين وفيه كود لعرض بيانات الموظف عند إدخال رقم الموظف ولكن بشرط أن يكون رقم الموظف من نوع رقم وليس نص

المطلوب هو التعديل على هذا الكود بحيث يعمل على رقم الموظف وإن كان من نوع نص 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

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

اخوي

اولا لم تغير مصدر جمله 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

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

السلام عليكم

المعذرة على تأخري في الرد

يبدو أني ما وضحت المثال لأني جعلت فورمين وجدولين

ولكن الآن جعلته فورم واحد وجدول واحد

وهو ما زال لا يعمل لماذا ؟؟؟ لأن رقم الموظف في الجدول من نوع نص ..

هل تستطيع الآن أن تعدل في الكود كما تفضلت بارك الله فيك

مع أني حاولت وضع علامتي تنصيص ولكن ما زال هناك خطأ ما دري فين

windows-1256__Searchby Text.rar

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

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

أخي الكريم

شوف المثال بعد التعديل على الكود ووضع علامتي تنصيص كما شرحت بارك الله فيك ولاكن ما يظهر إلا الرقم الأول فقط

وأيضاً عند إدخال رقم جديد فوق رقم جديد تظهر رسالة بأن الموظف غير موجود هل تريد إضافته وعند الجواب بنعم يتم الكتابه فوق رقمه القديم !!

فهل من حل آخر لهذه المشكلة؟؟؟

المثال مرفق بعد التعديل

SearchbyText_3.rar

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

اخوي

بالنسبه للمشكله الاولى:

نسيت ان انبه على استخدام الداله CStr بينما انت استخدمت الداله Str في السطر البرمجي التالي:


"[sn] = '" & CStr(myrec!MYNO) & "'"

ولم تقم بالتعديل عليها

بالنسبه لمشكله الكتابه على السجل القديم فهذا شي طبيعي في الاكسس لانك تستخدم نفس حقل الرقم كا حقل للبحث

الحل اضافه مربع نص غير معتمد على اي حقل

شاهد المرفق

SearchbyText_3.rar

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

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