-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام 🙂 1. بهذه الطريقة ننادي الدالة fMy_Msgs لتعطينا الرسالة : Private Sub b_emp_add_Click() On Error Resume Next If Forms![LoginFourm]![Delete] = 0 Then call fMy_Msgs Else DoCmd.OpenForm "Permission_add", , , , acFormAdd End If End Sub 2. اعمل وحدة نمطية جديدة ، واعطيها اسم mod_My_Msgs مثلا (ولكن لا تحفظها باسم fMy_Msgs ، لأن هذا اسم الدالة) : option comapre database option explicit dim my_info as string public function fMy_Msgs() if len(my_info & "")=0 then my_info = DLookup("[name_pro]", "[info]") & " | " & DLookup("[Version_pro]", "[info]") end if MsgBox "خطأ .. ليس لديك صلاحيات اصدار أذن", 0 + 16 + 1048576, my_info end function . جعفر
-
السلام عليكم 🙂 نعم هذه هي الطريقة الصحيحة ، ولا انصح ابدا بإستخدام On Error Resume Next إلا في حالات جدا ضيقة 🙂 بالنسبة لعملك ، فخذ الطريقة التي تريحك 🙂 وطبيعي ان الكمبيوتر يحتاج وقت لمعالجة كل سطر في الكود ، والوقت يعتمد على الامر الموجود في ذلك السطر ، وفي معظم الاحيان هذا الوقت جدا تافه ولا نعيره اهتماما ، خصوصا في الكمبيوترات الجديدة 🙂 اما الطريقة الاولى ، OpenArgs ، فلا يعرف الكثير من المبرمجين عنها ، والكثير من الذين يعرفون ، لا يعرفون بأن بامكانهم ارسال اكثر من معلومة بها 🙂 جعفر
-
لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165
jjafferr replied to ابو ميرال's topic in قسم الأكسيس Access
اعتقد هذا اللي تبحث عنه : استعمل هذا الكود بدل الموجود عندك: Private Sub تفصيل_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo err_Form_MouseMove Try_Again: '... Me.a1.Visible = False Me.a2.Visible = False Me.a3.Visible = False Me.a4.Visible = False Me.A5.Visible = False Me.a6.Visible = False Me.a7.Visible = False Me.a8.Visible = False Me.a9.Visible = False '... Exit_Form_MouseMove: Exit Sub err_Form_MouseMove: If Err.Number = 2165 Then 'set focus on another element, then hide it Me.b9.SetFocus Resume Try_Again Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_MouseMove End If End Sub . ولازلت انصحك بالمشاركة التي اشرت لك عليها 🙂 جعفر -
لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165
jjafferr replied to ابو ميرال's topic in قسم الأكسيس Access
لقيت النموذج 🙂 انصحك بإستخدام القوائم المنسدلة في هذه المشاركة ، والتي قام بها اخونا @Moosak : . فهي مشابهه لطريقة عرض قوائمك ، وخفيفة على البرنامج (بدل 9 نماذج فرعية) 🙂 جعفر -
لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165
jjafferr replied to ابو ميرال's topic in قسم الأكسيس Access
اي نموذج؟ -
لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165
jjafferr replied to ابو ميرال's topic in قسم الأكسيس Access
رجاء ، لما تريد ان تضع الكود في مشاركتك ، 1. انقر على هذا الزر : . 2. الصق الكود هنا ، واعمل عليه التغيير الذي تحب : . نعود الى موضوغك: رجاء ارفاق الجزئية من برنامجك الذي فيه مشكلة 🙂 جعفر -
لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165
jjafferr replied to ابو ميرال's topic in قسم الأكسيس Access
همممم ، طريقتك توقف عمل جميع الرسائل التحذيرية في الكود ، بينما انا اعطيتك الطريقة الصحيحة في التغلب على الرسالة بالذات !! 1. لم اجد كود اغلاق النموذج ، 2. قد يكون هناك رسالة تحذيرية اخرى في النموذج ، ولكنها لا تظهر بسبب استخدامك السطر اعلاه لإيقاف جميع الرسائل !! جعفر -
اعمل زر في النموذج الرئيسي ، . ثم ضع الكود التالي على حدث "النقر" : Private Sub cmd_Delete_Click() Me.Subform.SetFocus 'if the cursor is on a New Record, Exit If Me.Subform.Form.NewRecord = True Then Exit Sub DoCmd.SetWarnings False DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True 'ReSeq the Child Numbers Call ReSeq End Sub Sub ReSeq() Dim rst As DAO.Recordset Dim i As Integer Set rst = Me.Subform.Form.RecordsetClone rst.MoveFirst Do Until rst.EOF i = i + 1 rst.Edit rst!Childern_ID = i rst.Update rst.MoveNext Loop End Sub جعفر 1433.Delete_SubForm_Record_n_ReSeq.accdb.zip
-
سؤال بخصوص عرض صور مرتبطة فى نموذج مستمر على شكل شبكى
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
سؤال: ايش بتعمل في الصور ، هل هي للعرض فقط ، او تريد تستعملهم لشيء آخر ؟ جعفر -
انا اعطيتك الحل ، بينما السؤال هو: ما سبب ظهور رسالة تحديث السجلات؟ فالجواب ان اكسس يحذر المستخدم في حالة استعلام: الحاق ، تحديث ، حذف ، وعليه عندنا الطرق التالية لتفادي رسائل التحديث هذه: 1. نطلب من الاكسس ايقاف جميع الرسائل التحذيرية ، ثم نشغيل الاستعلام ، ثم نطلب من الاكسس اعطاء الرسائل التحذيرية (طبعا الرسائل بعد تنفيذ الاستعلام) : . 2. نستخدم الامر التنفيذي (وهذا لن يفتح الاستعلام ، وانما يشغله بشكل صامت) : currentdb.execute ("اسم الاستعلام") . 3. الغاء علامة الصح هنا : . . جعفر
-
لما يكون النموذج في وضع Dialog (مو منبثق Popup) فيكون مثل نافذة رسائل الاكسس: بحيث لا تستطيع ان تستخدم اي من كائنات قاعدة البيانات ، غير الموجودة في نافذة الرسالة ، يتوقف الكود عند هذا السطر ولا يتحرك للسطر التالي إلا بعد اغلاق النافذة. لهذا السبب يجب عدم استخدام هذه الخاصية (النماذج) إلا في حالات جدا خاصة. الطريقة الاولى: لحل هذه المشكلة ، يجب علينا ارسال جميع المعلومات المطلوبة ، ضمن امر فتح النموذج FRM2 ، ويمكننا عمل هذا عن طريق المتغير OpenArgs الموجود كآخر متغير في امر فتح النموذج ، فيكون الكود: Private Sub Frm2_Click() 'since we open the Form in a Dialog mode, 'we cannot send any further lines of code until the Form is closed 'so while opening the Form, we will send further info in "OpenArgs" variable 'so that when Form 2 is open, we can process this data there. 'Coming from:FRM1, setfocus field:TNO, TNO value: me.TNO DoCmd.OpenForm "FRM2", acNormal, , , , acDialog, "FRM1|TNO|" & Me.TNO End Sub . وفي حدث "تحميل" النموذج FRM2 ، نطلب منه تحليل هذه المعلومة ، والقيام بالمطلوب : Private Sub Form_Load() On Error GoTo err_Form_Load If IsNull(Me.OpenArgs) Then GoTo No_OpenArgs Dim x() As String 'OpenArgs info: 'Coming from:FRM1 'setfocus field:TNO 'TNO value: me.TNO If Split(Me.OpenArgs, "|")(0) = "FRM1" Then x = Split(Me.OpenArgs, "|") Me(x(1)).SetFocus DoCmd.FindRecord x(2), , , , , , True End If No_OpenArgs: 'continue code here Exit_Form_Load: Exit Sub err_Form_Load: If Err.Number = 2142 Or Err.Number = 94 Or Err.Number = 9 Then 'ignore, No proper value from OpenArgs Resume No_OpenArgs Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_Load End If End Sub . الطريقة الثانية: Private Sub Frm2_Click() DoCmd.OpenForm "FRM_02", acNormal, , , , acDialog End Sub . وفي حدث "تحميل" النموذج FRM2 ، Private Sub Form_Load() On Error GoTo err_Form_Load Me.TNO.SetFocus DoCmd.FindRecord Forms!FRM_01!TNO, , , , , , True No_FRM: 'continue code here Exit_Form_Load: Exit Sub err_Form_Load: If Err.Number = 2145 Then 'ignore, No proper value from incoming Form Resume No_FRM Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_Load End If End Sub . جعفر
-
وعليكم السلام 🙂 وانا ادلو بدلوي : DoCmd.OpenForm "frm_03" Forms!frm_03!Id.SetFocus 'لست بحاجة الى هذا السطر DoCmd.FindRecord Me.Id, , , , , , True . الطريقة : كأنك فتحت النموذج الآخر وعملت Ctl+F ، فعندك جميع الاعدادات في نافذة البحث ، في السطر الاخير من الكود 🙂 جعفر
-
لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165
jjafferr replied to ابو ميرال's topic in قسم الأكسيس Access
انت تريد ان تخفي كائن/كائنات في النموذج ، لذا ، يجب ان تجعل التركيز على كائن/حقل/زر آخر ، ثم يمكنك ان تجعل الكائن مخفي 🙂 وبعض الاوقات ما تهمك رسالة الخطأ ، لأن الفأرة تكون على جميع انواع الكائنات ، فالنموذج عندك يعمل بطريقة صحيحة ، ولا تريد هذه الرسالة ، لذا يجب ان تصطاد هذه الرسالة ، وتخبر الكود بالمواصلة ، شيء من هذا القبيل: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo err_Form_MouseMove '... 'the code '... Exit_Form_MouseMove: Exit Sub err_Form_MouseMove: If Err.Number = 2165 Then 'ignore Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_MouseMove End If End Sub جعفر -
بدل العلاقة بين الجدولين ، انا عملت العلاقة بين النموذج الرئيسي والفرعي ، ولكن ، تفضل . واضفت حقل لتسلسل العائلة/الاطفال . . في النموذج الفرعي ، ولما تكتب اسم من اسماء افراد العائلة ، وعند حدث "بعد التحديث" ، يحصل الاسم على الرقم التلقائي التالي ، بهذا الكود: Private Sub الاسم_AfterUpdate() 'Get the Next Seq number for this child Me.Childern_ID = Nz(DMax("[Childern_ID]", "tb2", "[Father_ID]=" & Me.Parent!id), 0) + 1 End Sub جعفر 1433.test.accdb.zip
-
-
وعليكم السلام 🙂 حسب علمي ، هناك 3 ساعات ممكن استعمالها: 1. ساعة الكمبيوتر ، 2. ساعة كمبيوتر آخر في الشبكة ، مثل ساعة السيرفر : . . 3. وساعة الانترنت ، واللي لازم تكون مرتبط بالانترنت علشان تحصل على الوقت : اخذ الجزء المطلوب من المرفق من هنا: جعفر
- 1 reply
-
- 1
-
-
السلام عليكم 🙂 هذا الموضوع فيه الكثير من النصائح ، مع اخوي @kha9009lid : . الاستعلام هو العمود الفقري لقواعد البيانات 🙂 ولكل حالة وضعها ، فقد تحتاج الى مجموعة استعلامات لكي توصل لطلبك ، ولكن الاستعلام الفرعي يعمل عجائب وغرائب 🙂 . . هذا شيء طبيعي في كل شيء في حياتنا 🙂 البرنامج الذي ذكرته اعلاه ، وبعد خدمة 8 سنوات ، تم استبداله ببرنامج جديد من عائلة Net. ، وهو يفتقر الى احد ابسط الامور الموجودة في الاكسس ، بالنقر اليمين على الحقل يمكنك عمل فرز وتصفية بعدة طرق ، اعتمادا على نوع الحقل ، ويأتي هذا مجانا مع اكسس وبدون برمجة (وانا اتاسف لما اجد بعض المبرمجين يلغون هذه الخاصية من برامجهم) ، بينما في برامج Net. ، فأنت تتكلم عن برمجة خاصة لهذا العمل ، ولن يصل لمستوى الاكسس ، لأنهم لا يستطيعون عمله بالنقر على زر الفأرة اليمين ، وانما عن طريق حقول وازرار 🙂 اما جعل كائنات النموذج تتفاعل مع حجم النموذج او الشاشة resposive ، والذي يقوم به HTML ، فهذا ذو اهمية لبعض الناس (انا ما احتجت لها الى الآن) ، فالحمدلله ، الاكسس يمكنه استخدام HTML ، ولكن اذا عكسنا السؤال ، فهل برمجة HTML فيها قواعد بيانات !! في نهاية الامر الاكسس مجرد برنامج ، فيه ميزات وعيوب ، ويجب ان نقبل هذا 🙂 جعفر
-
وعليكم السلام 🙂 على زر تنفيذ الامر ، استعمل هذا الكود: docmd.setwarnings false docmd.openquery "اسم الاستعلام" docmd.setwarnings true جعفر
-
وعليكم السلام 🙂 ولإضافة اكثر من شرط في جملة الاستعلام ، وبسهولة: جعفر
-
وعليكم السلام 🙂 هذه المشكلة حدثت بسبب تحديث للوندوز وعمل مشكلة مع الاكسس: https://support.microsoft.com/en-us/office/error-in-access-when-opening-a-database-on-a-network-file-share-6cbc1560-62c2-46e7-9980-d079a46f5acc . . وهناك تحديث بتاريخ 2021-12-16 والمفروض ان يحل المشكلة ، ولكنه قد يأخذ بعض الوقت حتى يصلك !! فعليه ، يمكنك انزال التحديث مباشرة من موقع مايكروسوفت ، حسب نسخة الاكسس التي تملكها ، وقم بتحديث جميع الكمبيوترات ، الواجهة والجداول ، ثم قم بإعادة تشغيل الجهاز : https://docs.microsoft.com/en-us/officeupdates/office-updates-msi جعفر
-
سؤال بخصوص عرض صور مرتبطة فى نموذج مستمر على شكل شبكى
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
هذه امثله لأخوي @أبو إبراهيم الغامدي باستخدام HTML . ولكي تستفيد منه افضل ، يجب ان تدمجه مع . و . . واعتقد تقدر تستخدم Microsoft Forms 2.0 images ActiveX لعمل هذا ، ولكني لم استطع التوصل الى مثال!! جعفر -
وعليكم السلام 🙂 انا فصلت هذه المشاركة عن الموضوع الذي كان فيه ، حتى يتم النقاش هنا🙂 هذه النقاط جميعا تتمركز حول طريقة عمل البرنامج 🙂 برنامج عملته انا ، في الشبكة ، كان يعمل عليه 10-15 شخص وبكثافة ، بين ادخال بيانات الموظفين وبحث وارشفة ، اكثر من 1,613,000 سجل ، الكائنات: 31 جدول ، 200 استعلام ، 67 نموذج ، 29 تقرير ، اكثر من 4100 سطر كود ولا يشمل مكتبات الوندوز ، ويتحكم في حفظ وإظهار صور بحجم حوالي 3 تيرا بايت في حوالي 10 الاف مجلد ، ولم يكن فيه بطئ ولا تهنيج ولا يتطلب ضغط واصلاح 🙂 خذها قاعدة: النسخة الاولى من البرنامج لا تكون الافضل ، لذا يجب عمل النسخة التالية والتي ستكون افضل بكثير من النسخة الاولى 🙂 واحد اهم اسباب بطئ البرنامج ، هو عدم وجود فهرسة للحقول التي بها معايير 🙂 جعفر
-
في النموذج ، ممكن ان تعمل Listbox ، ثم تختار منها الرتب التي تريدها ، ثم تعمل حلقة دوران لهذه القيم ، وتضعها في استعلام في الكود 🙂 جعفر