بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
9,756 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
396
Community Answers
-
jjafferr's post in مشكله في عرض الصور و ملفات pdf was marked as the answer
وعليكم السلام 🙂
إذا ما عندك برنامج قراءة pdf على كمبيوترك (مثل Adobe Acrobat Reader او Fox it pdf Reader او ... ) ،
فالاكسس لن يعرض ملف الـ pdf في النموذج ، وانما يُخرج لك هذه الرسالة !!
تابع هذا الموضوع:
فعندك حلين:
1. تنصب احد برامج قراءة pdf على كمبيوترك ،
2. او تفتح ملف pdf باليرنامح الافتراضي والذي قد يكون المتصفح Chrome او Edge.
جعفر
-
jjafferr's post in مشكلة رسالة خطأ عند تحريك سجل في النموذج was marked as the answer
وعليكم السلام 🙂
مشكلتك في مكان آخر في الكود 🙂
اعمل Compile ، وصحح جميع الاخطاء ، وبيشتغل البرنامج كما يجب ان شاء الله 🙂
.
وبما انك مصرح بنوعي
يجب عليك في الكود تحديد اي نوع من انواع Recordset تريد ان تستعمل ، لأنك مصرح بالنوعين ، لذا يجب كتابة DAO ،
واعمل Dim مستقل للـ Recordset وإلا فلن يُظهر لك اي مساعدة في الكود :
Dim db As DAO.Database dim RS As DAO.Recordset
جعفر
-
jjafferr's post in كيف يمكن توسيط الارقام عموديا في التقرير was marked as the answer
وعليكم السلام 🙂
جرب هذا الرابط
جعفر
-
jjafferr's post in كيف يمكنني ان اعيد حقل الترقيم التلقائي was marked as the answer
وعليكم السلام 🙂
اخي بشار ، اجعل عملية البحث اهم صديق لك في المنتدى ، فستحصل على اجابات سنين ، بدل انتظار الردود على موضوعك 🙂
جعفر
-
jjafferr's post in فتح فولدر في الويندوز بناء علي رقم الملف الموظف was marked as the answer
1.
عند استخدام اي من الاكواد التي تفضل بها الشباب ، والكود الذي وضعته انا ، يجب ان يكون مسار المجلد كاملا ، فمجلدك رقم 3733 لا يعطي المسار كاملا ،
لذا ممكن حل الخطأ بوضع مسار المجلد في الكود ، ثم تضيف عليه رقم مجلد الموظف ، هكذا (ولقد تم تجربة الطرق الثلاث ادناه ، طبعا تجربة كل سطر بطريقة مستقلة) :
Dim myPath As String myPath = "D:\" ShellExecute Me.hwnd, "open", myPath & Me.Folder_Name, "", "", 1 Application.FollowHyperlink myPath & Me.Folder_Name Shell "explorer.exe" & " " & myPath & Me.Folder_Name, vbNormalFocus .
2.
نعم ، الكود الذي اعطيتك يُظهر "رسالة إشعار امان" الاكسس ، ولكنه وبعد قبول الرسالة ، يفتح المجلد او الملف ، وللتغلب على هذه الرسالة ، يمكننا كتابة الكود هكذا:
DoCmd.SetWarnings False Application.FollowHyperlink myPath & Me.Folder_Name DoCmd.SetWarnings True
جعفر
Folder_Name.zip
-
jjafferr's post in إضافة جدول بالكود فيه حقل (نعم/لا) على شكل (خانة اختيار) وليس (مربع نص) مع قيمة افتراضية was marked as the answer
وعليكم السلام 🙂
هذا الموضوع فيه ما لذ وطاب من عمل قاعدة بيانات ، الى عمل الحقول ، وعمل نماذج وبها ازرار ، وعمل كود لكل زر ، وووو
.
وهنا افرد لك الجزئية التي تريدها:
'DoCmd.RunSQL "CREATE TABLE [" & s & "] (ID AUTOINCREMENT primary key, ID_Shamela integer, Tno integer, Nass Memo, part integer, Page integer,Hno integer,Rm_Hno integer, Mno text (50),Mult_mno yesno,NO_hno yesno)" Dim dbsNew As DAO.Database Dim pr As DAO.Property Set dbsNew = CurrentDb 'OpenDatabase(Me.txt2) DoCmd.RunSQL "CREATE TABLE [" & s & "] " & _ " (ID AUTOINCREMENT primary key, " & _ "ID_Shamela integer, " & _ "Tno integer, " & _ "Nass Memo, " & _ "part integer, " & _ "Page integer, " & _ "Hno integer, " & _ "Rm_Hno integer, " & _ "Mno text (50), " & _ "Mult_mno yesno, " & _ "NO_hno yesno) " 'Mult_mno dbsNew.TableDefs(s).Fields("Mult_mno").DefaultValue = 0 Set pr = dbsNew.TableDefs(s).Fields("Mult_mno").CreateProperty("Format", dbText, "True/False", True) dbsNew.TableDefs(s).Fields("Mult_mno").Properties.Append pr 'make the Check Box look Set pr = dbsNew.TableDefs(s).Fields("Mult_mno").CreateProperty("DisplayControl", dbInteger, acCheckBox) dbsNew.TableDefs(s).Fields("Mult_mno").Properties.Append pr dbsNew.TableDefs(s).Fields("Mult_mno").Properties("DisplayControl") = acCheckBox 'NO_hno dbsNew.TableDefs(s).Fields("NO_hno").DefaultValue = 0 Set pr = dbsNew.TableDefs(s).Fields("NO_hno").CreateProperty("Format", dbText, "True/False", True) dbsNew.TableDefs(s).Fields("NO_hno").Properties.Append pr 'make the Check Box look Set pr = dbsNew.TableDefs(s).Fields("NO_hno").CreateProperty("DisplayControl", dbInteger, acCheckBox) dbsNew.TableDefs(s).Fields("NO_hno").Properties.Append pr dbsNew.TableDefs(s).Fields("NO_hno").Properties("DisplayControl") = acCheckBox
جعفر
YesNo.zip
-
jjafferr's post in اريد نقل بيانات بين قواعد البينات بنفس الشبكة was marked as the answer
وعليكم السلام 🙂
كل اللي محتاج له هو الامر : Not In في معيار الاستعلام ،
والرابط التالي فيه مثال:
.
ولكن ، البيئة اللي تريد تشتغل فيها ، غير مناسبة لجداول الأكسس ، والافضل ان تستعمل جداول SQL Server او mySQL على احد مواقع الانترنت ، وتربط واجهة الاكسس بها ، بهذه الطريقة تكون بياناتك على الانترنت ، والكل يقدر يشوفها ويستعملها في نفس الوقت.
جعفر
-
jjafferr's post in اطار واجهة Ms Access was marked as the answer
وعليكم السلام 🙂
في الرابط برنامج ما استغنى عنه ، عدة مرات في اليوم ، ولما تشغله تحصل على جواب سؤالك
جعفر
-
jjafferr's post in عدم التكرار في استعلام الالحاق was marked as the answer
وعليكم السلام 🙂
عملت حقل اختيار صح/خطأ ، تسميته "اختيار الكل" ، فلما تختاره ، يختار القائمة كاملة ، ولما تشيل الاختيار عنه ، يلغي اختيار القائمة ،
وهذا الكود يعمل اللازم :
Private Sub chk_Select_All_AfterUpdate() Dim i As Integer If Me.chk_Select_All = -1 Then 'Selete All For i = 0 To Me.lst_invoices.ListCount - 1 Me.lst_invoices.Selected(i) = True Next i Else 'DeSelete All For i = 0 To Me.lst_invoices.ListCount - 1 Me.lst_invoices.Selected(i) = False Next i End If End Sub .
وشفت عندك استعلام ما تريده يعرض عدد كبير من المعلومات ،
فعملت لك جدول خاص بالمعلومات اللي ما نريدها ، واضفت لك اسم/رقم المجموعة iGroup حتى تقدر تضيف معلومات لإستعلامات اخرى
.
فأصبح الاستعلام
.
جعفر
1513.2.Not in final.accdb.zip
-
jjafferr's post in رسالة خطا بعد عمل قاعدة البيانات ظهر لي لم يتم التعرف علي التنسيق علي القاعدة was marked as the answer
تم مناقشة هذا الخطأ في مجموعة مواضيع:
.
ولقد استخدمت احد برامج الاصلاح ،
.
ولم يستطع البرنامج حتى استرجاع الجداول ، فبرنامجك معطوب ، وارجع الى النسخ السابقة وواصل طريقك من هناك !!
جعفر
-
jjafferr's post in رسالة خطا بعد عمل قاعدة البيانات ظهر لي لم يتم التعرف علي التنسيق علي القاعدة was marked as the answer
تم مناقشة هذا الخطأ في مجموعة مواضيع:
.
ولقد استخدمت احد برامج الاصلاح ،
.
ولم يستطع البرنامج حتى استرجاع الجداول ، فبرنامجك معطوب ، وارجع الى النسخ السابقة وواصل طريقك من هناك !!
جعفر
-
jjafferr's post in العودة الى الفورم الذي استدعى الفورم عند الاغلاق was marked as the answer
جميل ،
اذن LisetViewData ليس اسم النموذج ،
سوف نرسل قيمتين في المتغير OpenArgs ،
يجب ان يكون الامر عندك هكذا ، نرسل اسم النموذج وقيمة حقل LisetViewData :
DoCmd.OpenForm "frm_QualityEvaluation", , , , , acDialog, me.name & "|" & LisetViewData .
عند اغلاق النموذج frm_QualityEvaluation ، اكتب :
dim x() as string x=split(me.openargs,"|") Forms(x(0)).Visible = True او Forms(split(me.openargs,"|")(0)).Visible = True .
وبالنسبة للسجل:
dim x() as string x=split(me.openargs,"|") rs.Open "SELECT * FROM tbl_QualityEvaluation WHERE id_Ccallg = '" & x(1) & "' And Deletrecord =1 ORDER BY tbl_QualityEvaluation.id_Ccallg DESC;", sqldb او rs.Open "SELECT * FROM tbl_QualityEvaluation WHERE id_Ccallg = '" & split(me.openargs,"|")(1) & "' And Deletrecord =1 ORDER BY tbl_QualityEvaluation.id_Ccallg DESC;", sqldb .
جعفر
-
jjafferr's post in نماذج التنقل was marked as the answer
الحمدلله 🙂
خلينا من البداية نعطي قيمة ID الى متغير :
dim myID as long myID= me.ID DoCmd.BrowseTo acBrowseToForm, "General", , , "PA", acFormEdit Forms!General!PA.SetFocus SendKeys "~", True DoEvents Forms!General!JO.SetFocus Dim rst As DAO.Recordset Set rst = Forms!General!JO.Form.RecordsetClone rst.FindFirst "[PCode]=" & myID Forms!General!JO.Form.Bookmark = rst.Bookmark rst.close: Set rst = Nothing 'TurnOnNumLock
جعفر
-
jjafferr's post in مشكلة فى الجمع بين الخلايا و تحديث تلقائى was marked as the answer
الحدث الذي يقوم بعمل المطلوب هو "عند التغيير" ،
ولكن ، وبما ان الحقل (aa2 مثلا) يكون في وضع "تعديل" لما تكتب فيه ، والقيمة اللي فيه لا تكون محفوظه في الحقل بعد ، فلا يمكن استعمال قيمته بعد ،
لذا ، يجب الاستعانه بحقل آخر (aa22 مثلا ، كما في الصورة التالية ، باللون البرتقالي ، ومخفي) ، بحيث يأخذ قيمة Text. الحقل aa2 ،
وهكذا الحال للحقل الثاني bb2 ،
.
.
عليه تصبح المعادلات:
Private Sub Form_Load() Me.aa2 = Empty Me.bb2 = Empty Me.ee2 = Empty Me.aa22 = Empty Me.bb22 = Empty End Sub Private Sub aa2_Change() Me.aa22 = Me.aa2.Text Call Calc_ee2 End Sub Private Sub bb2_Change() Me.bb22 = Me.bb2.Text Call Calc_ee2 End Sub Sub Calc_ee2() Me.ee2 = Val(Nz(Me.aa22, 0)) + Val(Nz(Me.bb22, 0)) End Sub
جعفر
1512.Add fields.accdb.zip
-
jjafferr's post in التصدير الى الاكسل بتسمية الحقل وليس اسمه was marked as the answer
الحقول اللي تصدرها ، تريد استيرادها ، فما فرقت ، التصدير يصير من الجدول او الاستعلام ، فالخطأ سيظل نفسه !!
هناك حل انك تستعمل جداول مؤقته تستورد فيها من ملف الاكسل ، ثم تلحقها بالجدول الصحيح ، ثم تحذف بيانات الجدول المؤقت:
اذا كانت هذه الجداول المؤقته في نفس البرنامج ، فسيكبر حجم قاعدة البيانات ، لهذا السبب احبذ هذه الطريقة ، ولكن ممكن ان نجعل هذه الجداول المؤقته في قاعدة بيانات خارجية ، بحيث نصنعها عند الحاجة ، ثم نحذفها عند الانتهاء من عملها !!
الحل الآخر هو جلب البيانات عن طريق الكود ، وفي الكود نلحق البيانات للحقول الصحيحة ،
والحل الأخير ، وقد يكون الاسهل ، وهذا يعتمد على ان مجلد واسماء الملفات تظل مثل ما هي ولا تتغير (يجب عليك تعديلها لأول مرة فقط) ، وعليه نستطيع عن طريق الاستعلام ان نستورد البيانات الى الجدول الصحيح 🙂
في انتظار ردك 🙂
جعفر
-
jjafferr's post in التصدير الى الاكسل بتسمية الحقل وليس اسمه was marked as the answer
الحقول اللي تصدرها ، تريد استيرادها ، فما فرقت ، التصدير يصير من الجدول او الاستعلام ، فالخطأ سيظل نفسه !!
هناك حل انك تستعمل جداول مؤقته تستورد فيها من ملف الاكسل ، ثم تلحقها بالجدول الصحيح ، ثم تحذف بيانات الجدول المؤقت:
اذا كانت هذه الجداول المؤقته في نفس البرنامج ، فسيكبر حجم قاعدة البيانات ، لهذا السبب احبذ هذه الطريقة ، ولكن ممكن ان نجعل هذه الجداول المؤقته في قاعدة بيانات خارجية ، بحيث نصنعها عند الحاجة ، ثم نحذفها عند الانتهاء من عملها !!
الحل الآخر هو جلب البيانات عن طريق الكود ، وفي الكود نلحق البيانات للحقول الصحيحة ،
والحل الأخير ، وقد يكون الاسهل ، وهذا يعتمد على ان مجلد واسماء الملفات تظل مثل ما هي ولا تتغير (يجب عليك تعديلها لأول مرة فقط) ، وعليه نستطيع عن طريق الاستعلام ان نستورد البيانات الى الجدول الصحيح 🙂
في انتظار ردك 🙂
جعفر
-
jjafferr's post in مشكلة البحث بين تاريخين في حقل DATETIME was marked as the answer
ولا يهمك ، تفضل يا سيدي:
Dim mySQL As String mySQL = "SELECT * " mySQL = mySQL & " FROM tbl_Employ" mySQL = mySQL & " WHERE Format([Startdate],'yyyymmdd') Between '" & Format(Me.TxtStartDate, "yyyymmdd") & "' And '" & Format(Me.TxtEndDate, "yyyymmdd") & "'" Me.ListData.RowSource = mySQL او على سطر واحد Me.ListData.RowSource = "SELECT * FROM tbl_Employ WHERE Format([Startdate],'yyyymmdd') Between '" & Format(Me.TxtStartDate, "yyyymmdd") & "' And '" & Format(Me.TxtEndDate, "yyyymmdd") & "'" .
الامر Format يغير ما ما يحتويه من رقم او تاريخ ، الى نص ،
والفضل في هذه المعادلة يعود لأخي @رمهان ، حيث قال :
جعفر
-
jjafferr's post in كيفية معرفة المفتاح بعد الضغط عليه was marked as the answer
في النموذج ، اعمل حقل بإسم str_Key ، وضع فيه هذا الكود
Private Sub str_Key_KeyPress(KeyAscii As Integer) Debug.Print ChrW(KeyAscii) Me.str_Key = Empty End Sub .
او على مستوى النموذج:
Private Sub Form_KeyPress(KeyAscii As Integer) Debug.Print ChrW(KeyAscii) End Sub
الفرق ان هذا الكود يستعمل KeyAscii ، اي ارقام الحروف ،
بينما الكود في المشاركات السابقة يستعمل KeyCode ، اي ارقام ازرار الكيبورد !!
جعفر
-
jjafferr's post in قائمة منسدلة تعبئة تلقائية was marked as the answer
وعليكم السلام 🙂
اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة
الطلب في غاية البساطة ، والمنتدى مليء بمثل هذا السؤال ، فاستعمل البحث للحصول على هذه المواضيع ،
واليك احد الروابط وبه طلبك
جعفر
-
jjafferr's post in طريقة لترقيم سجلات الحقل was marked as the answer
اذا قصدك تدخل البيانات مباشرة في اول حقل من اول سجل مباشرة
.
فيصبح الكود:
Private Sub Numberx_AfterUpdate() ' 'Access looks at it this way: 'user 1 = first entry was done in the Form by hand 'user 2 = the code below enters values automatically ' 'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard 'to avaoid this message, we should first save the hand made value, then run the code 'save the Records If Me.Dirty Then Me.Dirty = False Dim rst As DAO.Recordset Dim i As Long Set rst = Me.RecordsetClone rst.MoveFirst i = Me.Numberx Do Until rst.EOF i = i + 1 rst.Edit rst!Numberx = i ' rst!serial = Me.str_serial rst.Update rst.MoveNext Loop 'MsgBox "Done" End Sub Private Sub serial_AfterUpdate() Dim rst As DAO.Recordset Dim i As Long Dim str As String str = Me.serial 'save the Records If Me.Dirty Then Me.Dirty = False Set rst = Me.RecordsetClone rst.MoveFirst Do Until rst.EOF rst.Edit ' rst!Numberx = Me.int_Numberx + i rst!serial = str rst.Update rst.MoveNext Loop 'MsgBox "Done" End Sub
جعفر
1505.1.make serial numbers.mdb.zip
-
jjafferr's post in 🙂 كيف أجعل تنسيق حقل رقمي مرة تكون رقمية لسجلات معينة ومرة تكون نسبة لسجلات أخرى ؟ 🤔🙄 was marked as the answer
وعليكم السلام 🙂
استخدم حقل رقم ، Double 🙂
جعفر
-
jjafferr's post in تعريف متغيرات عند مناداة الدالة ، واخرى داخل الدالة was marked as the answer
وعليكم السلام 🙂
1. اذا تم مناداة الدالة (من الاستعلام مثلا) ، فعادة يتم ارسال قيم اليها ، حتى تقوم الدالة بحساب المطلوب ،
وعليه ، الاكسس لا يسمح لك بإرسال بيانات من نوع مختلف ،
2. ولكن الدالة تحتاج الى متغيرات اخرى لتقوم بعملها ، لذا نعرّف هذه المتغيرات داخل الدالة 🙂
كما انك تستطيع ان لا تُعرّف المتغيرات كما في رقم #1 ، بل تقوم بتعريفها داخل الدالة ، ولكن حينها تقع عليك مسؤولية التأكد من ان نوع البيانات صحيحة 🙂
فدع الاكسس يقوم بعمله ، وهي الطريقة الصحيحة 🙂
جعفر
-
jjafferr's post in تحديث اجمالي المبلغ مباشره في النموذج الرئيسي بعد تحديث الكمية في النموذج الفرعي was marked as the answer
من زمان ما عامل الكود على حدث "عند التغيير" OnChange للحقل ، فأخذ مني بعض الوقت 🙂
اضفت حقل جديد txt41 باللون البرتقالي ، وممكن تعمله مخفي
.
اذا اردنا ان نعمل تغيير في بيانات النموذج عند كل ضغطة زر على لوحة المفاتيح (الكيبورد) ، ممكن لغرض البحث ، او للحصول على مجموع عند ادخال كل رقم ، فلابد من استخدام حدث "عند التغيير" OnChange للحقل.
صحيح ان نتائج ضغطة ازرار لوحة المفاتيح تظهر مباشرة في الحقل ، ولكن البرنامج لا يحصل على آخر زر ، فيجب الاستعانة بحقل آخر ، خليني اوضح :
1. في حدث "عند التغيير" OnChange للحقل ، اكتب debug.print me.TXT4 ، ولاحظ النتائج في نافذة immediate في نافذة VBE ،
سترى ان آخر الازرار اللي ضغطت عليها لا تظهر قيمتها ، لأن me.TXT4 معناها قيمة الحقل المحفوظة في الجدول ،
بينما اذا اردنا ان نأخذ القيمة التي لم يتم حفظها الى الآن ، فيجب ان نستخدم me.TXT4.Text ،
لاحظ الفيديو التالي ، القيمة الاصلية المحفوظة في الجدول هي 15 :
.
2. على هذا الاساس ، عملت حقل جديد اسميته txt41 (باللون البرتقالي في الصورة اعلاه ، ويمكن عمله مخفي) ، بحيث نعطيه القيمة الغير محفوظة من الحقل TXT4 ، هكذا :
Me.txt41 = Me.TXT4.Text
3. وبعدها ممكن عمل المعادلة Me.TXT5 = TXT3 * txt41 ، حيث الحقل TXT5 سيحصل على القيمة الصحيحة من الحقل TXT4 ،
4. ولكي تظهر قيمة مجموع حقل TXT5 ، فيجب حفظ قيمة السجل ، فعليه عندنا مجموعة طرق ، منها :
DoCmd.RunCommand acCmdSaveRecord
If Me.Dirty Then Me.Dirty = False
Me.Refresh (ولكنها ستسبب في نقل المؤشر الى اول سجل ، فيجب التعامل معاها بطرق برمجية اضافية)
Me.Requery (ولكنها ستسبب في نقل المؤشر الى اول سجل ، فيجب التعامل معاها بطرق برمجية اضافية)
5. وبسبب اننا تدخلنا في حفظ السجل ، فالمؤشر سيرجع لأول الحقل كلما ضغطنا على زر على الكيبور ، يعني لما تريد تكتب 25 ، سيظهر لك 52 ،
لهذا السبب ، فيجب لما نضغط على اي زر ، يجب برمجيا ان نجعل المؤشر يذهب الى نهاية الحقل ، فيمكننا استعمال الامر SelStart ، والذي يجبر مكان المؤشر في الحقل ، فعندنا الطرق التالية لجعل المؤشر يذهب الى آخر الحقل :
Me.TXT4.SelStart = Len(Me.TXT4)
Me.TXT4.SelStart = vbKeyEnd
والكود يصبح:
Private Sub TXT4_Change() On Error GoTo err_TXT4_Change Me.txt41 = IIf(Len(Me.TXT4.Text & "") = 0, 0, Me.TXT4.Text) Me.TXT5 = TXT3 * txt41 DoCmd.RunCommand acCmdSaveRecord Me.TXT4.SelStart = Len(Me.TXT4) Exit_TXT4_Change: Exit Sub err_TXT4_Change: If Err.Number = 94 Or Err.Number = 13 Then Me.TXT5 = 0 DoCmd.RunCommand acCmdSaveRecord Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub
جعفر
1491.AZIZ.accdb.zip
-
jjafferr's post in نموذج الفرز والتصفية في الاستعلام was marked as the answer
وعليكم السلام اخوي سامي 🙂
اقول لك ، صاني لقيت جني خاش عمره تحت النموذج الفرعي ، للعلم 😁
عملت البحث فقط 🙂
جعفر
1490.devicesdb12 -9_00011.accdb.zip
-
jjafferr's post in البحث في Listbox داخل نموذج وعرض البيانات في نفس النموذج was marked as the answer
السلام عليكم 🙂
تفضل :
بالنسبة للبحث ، اضفت هذا الحقل بالحقول المطلوبة ، فتقدر تضيف وتنقص منها اللي يناسبك :
.
وهذه الاكواد:
Private Sub cmd_New_Student_Click() 'عمل سجل جديد DoCmd.GoToRecord , , acNewRec Me.namestudent.SetFocus End Sub Private Sub SearchList_DblClick(Cancel As Integer) 'عند النقر مرتين، الانتقال الى اسم الطالب Me.Recordset.FindFirst "codestudint=" & Me.SearchList Me.Bookmark = Me.Recordset.Bookmark Me.namestudent.SetFocus End Sub Private Sub srch_txt_AfterUpdate() 'البحث في Listbox Me.SearchList.Requery End Sub .
اما زر حفظ ، وحفظ التعديل ، فلم يتم استعمالهم 🙂
جعفر
1488.Microsoft.accdb.zip