اذهب الي المحتوي
أوفيسنا

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

قام بنشر

اخوتي عندي نموذج مفتاحه الأساسي أرقام وبستخدم زر التالي والسابق والبحث للتنقل من سجل لآخر لو سمحتم حد يقدر يفيدني بطريقة اختصارها ادخل الرقم في الحقل الأساسي لو الرقم موجود يعرض بياناته لو مش موجود ما يعرض شئ وأضافه كأني ضغط على زر إضافة له دلوقتي 7 أشهر ومش عارف اوصلها ... مع الشكر 

قام بنشر

يا لطيف 7 شهور  .. الحق انك مناضل

تفضل  :

باعتبار اسم الحقل والذي نوعه رقمي في الجدول والذي تبحث عن طريقه اسمه id

اعمل مربع نص غير منضم  في النموذج واجعل اسمه text1

افتح على التصميم وفي حدث بعد التحديث لمربع النص المذكور  الصق هذا الكود

Private Sub text1_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[id] = " & Me![text1]
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

ان كان نوع الحقل في الجدول نصيا ستحتاج الى تغيير بسيط في الكود

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

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

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

تفضل

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

Private Sub text1_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Emp_No] = " & [text1]
     If Not rs.NoMatch Then
    Me.Bookmark = rs.Bookmark
     Else
    DoCmd.GoToRecord , , acNewRec
       End If
End Sub

 

  • Like 2
قام بنشر
7 ساعات مضت, ابوخليل said:

تفضل

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


Private Sub text1_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Emp_No] = " & [text1]
     If Not rs.NoMatch Then
    Me.Bookmark = rs.Bookmark
     Else
    DoCmd.GoToRecord , , acNewRec
       End If
End Sub

اشكر حضرتك كتيييييييييييييير والشكر لله وجزاك الله كل خير ونعم الحسنة

 

قام بنشر

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

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

اخ مومن

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

واعتقد ان عنوان الموضوع يختلف عن المضمون ! 

بالتوفيق

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

السلام عليكم بعد إذنك أخي أبو خليل. يمكن إستعمال الدالة  DLookup («expr»; «domain»; «criteria») في مربع نص للبحث عن السجلات بإدخال الرقم في الحقل الأساسي فتظهر جميع بيانات السجل تلقائيا. كما يوضح المثال التالي:

 

البحث عن سجل.rar

قام بنشر

جزاك الله خيرا  اخي صالح 

اخ moamen salem تفضل  البحث في احد الحقول المنضمة

Private Sub text1_BeforeUpdate(Cancel As Integer)
 Dim rs As Object
    Set rs = Me.Recordset.Clone
   rs.FindFirst "[Emp_No] = " & [text1]
If Not rs.NoMatch Then
 Me.Undo
 Me.Bookmark = rs.Bookmark
  Else
     End If
End Sub

جعل الحدث قبل التحديث واضافة  سطر للتراجع

  • Like 1
قام بنشر
في ٤‏/٥‏/٢٠١٦ at 01:43, ابوخليل said:

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


Private Sub text1_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Emp_No] = " & [text1]
     If Not rs.NoMatch Then
    Me.Bookmark = rs.Bookmark
     Else
    DoCmd.GoToRecord , , acNewRec
       End If
End Sub

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

استاذ ابو خليل ... اذا تكرمت و تفحصت المرفق ( بنفس الكود اعلاه مع تغيير بسيط ) ...

* عند فتح النموذج نستطيع البحث بالعشرات ( مرتبتين ) ثم لا يمكن البحث الا بمرتبة واحدة ...

هل يمكن تنفذ الفكرة  ... و شكرا مقدما ... :fff:

بحث.rar

قام بنشر

هلا  اخي  العزيز كرار

9 ساعات مضت, كرار صبري _ أبو جنى said:

 البحث بالعشرات ( مرتبتين ) ثم لا يمكن البحث الا بمرتبة واحدة ...

تصدق ما فهمت ! :blink:

 العشرات ومرتبتين ومرتبة  ؟  

لا بد تشرح بالتفصيل :fff:

واذا جاء السؤال من محترف  لا بد  الواحد يحك راسه مرتين  واذا ما قدر  الله يعينه على الاعتذار :smile:

 

 

قام بنشر
6 ساعات مضت, ابوخليل said:

واذا جاء السؤال من محترف

شهادة اعتز بيها ... على راسي استاذ ابو خليل الورد ... :fff:

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

و هذه هي الفكرة ان يتم البحث عند التغيير وليس بعد التحديث ...

المشكلة عندي عند فتح النموذج استطيع ان ابحث عن الارقام من 1 الى 99

ثم عند البحث مرة اخرى استطيع البحث عن الارقام من 1 الى 9

عندما اقول لا استطيع البحث اقصد مثلا اذا اردت البحث عن الرقم 23 فعندما اكتب 2 يظهر السجل 2 ثم مباشرة اضغط 3 فيظهر السجل 3

و المفــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــروض عندما اكتب 2 يظهر السجل 2 ثم مباشرة اضغط 3 فيظهر السجل 23

و المشكلة ليست في كود البحث و انما ما بعده ... 

 

قام بنشر

الحل هو التحايل على مربع البحث وتحريره من التركيز

جرب ارسال المفتاح كما هو موضح  وافدنا بالنتيجة

Dim X
X = text1.Text
text2 = X
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[id] = " & text2
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
Me.text1.SetFocus
SendKeys "{f2}"
     Else
    DoCmd.GoToRecord , , acNewRec
       End If

 

  • Like 3
قام بنشر
37 دقائق مضت, صالح حمادي said:

أخي كرار يمكن حل مشكلة بطريفة أخرى و هي :إضافة هذا الكود في الحدث عند الفتح

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

هذا الكود يغير  الخيارات \ اعدادات العميل \ سلوك الادخال في الحقول \ الذهاب الى نهاية الحقل

لكن كيف ارجع الى " تحديد الحقل بالكامل "

  • Like 1
قام بنشر

شكرا لاخونا صالح حمادي وبعد اذنه

استبدل الرقم الظاهر في آخر الكود :

الرقم 2  للذهاب الى أخر الحقل

الرقم 1 للذهاب الى اول الحقل

الرقم صفر  لتحديد الحقل بالكامل

 

ولزيادة المعلومات وربط المتجانسات :   هنــــا      وهنـــــا

  • Like 3

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