-
Posts
9975 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
طلب مساعدة للاستفادة من فكرة الواجهات الجذابة
jjafferr replied to waheidi's topic in قسم الأكسيس Access
الظاهر في شيء ينطبخ وانت تدري عنه 😁 القصد ، ان اخونا waheidi اخذ الفكرة من هناك ، فلو ان الاجابة كانت كذلك هناك ، فلا يكون حاجة الى موضوع جديد ، واذا الفكرة ما كانت من هناك ، فالافضل ان ندمج هذه الفكرة مع بقية الافكار ، فتكون في مكان واحد 🙂 جعفر -
وعليكم السلام 🙂 اهلا وسهلا بك في المنتدى ، وللإستفادة الكاملة من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة هذا القسم من المنتدى هو لتبادل الاراء والافكار ، ومد يد العون للمبرمج. فإذا اردت الخوض في البرمجة وتعثرت ، فيمكنك وضع سؤالك في النقطة التي بها مشكلة ، ليساعدك الاعضاء في حلها ، اما اذا اردت ان يقوم احد الاعضاء بعمل البرنامج لك ، وبمقابل ، فرجاء وضع مشاركتك هنا : إعلانات شخصية بأجر للاعضاء جعفر
-
استفسار عن طريقة ايقاف تعديل حجم الحقل في نموذج ورقة البيانات
jjafferr replied to Ahmed.IQ's topic in قسم الأكسيس Access
وعليكم السلام 🙂 تفضل رد من الاستاذ الغائب @رمهان جعفر -
طلب مساعدة للاستفادة من فكرة الواجهات الجذابة
jjafferr replied to waheidi's topic in قسم الأكسيس Access
عفوا اباجودي ، بس علشان تكون مركز ، انا جعفر ، وانت في منتدى اوفسينا 🙂 طلبات ايه واحلام ايه وتوجيهات ايه واوامر ايه ، انت عاوز تودينا في ستين داهية 😮 🤣🤣🤣🤣🤣 -
طلب مساعدة للاستفادة من فكرة الواجهات الجذابة
jjafferr replied to waheidi's topic in قسم الأكسيس Access
السلام عليكم 🙂 @Moosak و @ابو جودي ياريت تضعون اجابتكم في الموضوع الاصل ، حتى يصبح ذلك الموضوع متكامل (مع مراعاة هذا مستقبلا كذلك 🙂 شكرا) : جعفر -
نصائح من مبتدئ إلى مبتدئ عند استخدام الاكسس اوفيس
jjafferr replied to Hamtoooo's topic in قسم الأكسيس Access
وعليكم السلام اخوي ابو خليل 🙂 نعم ، انا كذلك اخذت الوقت حين قراءة اول مشاركة وبحثت ، وتوصلت الى المعلومة من فم الاسد : https://support.microsoft.com/en-us/office/set-the-field-size-ba65e5a7-2e6f-4737-8e72-36b93f966a33 . فتم قطع الشك باليقين 🙂 جعفر -
نصائح من مبتدئ إلى مبتدئ عند استخدام الاكسس اوفيس
jjafferr replied to Hamtoooo's topic in قسم الأكسيس Access
السلام عليكم 🙂 اسمح لي ان اصحح هذه المعلومة: هي 255 حرف ، وليس 255بت ، الاكسس يستخدم ذاكرة بحجم البيانات المُدخلة ، ويتغاضى عن بقية الطول الذي تكتبه لهذا الحقل ، اما حجم الحقل ، فالاكسس لا يسمح لك بإضافة حروف اكثر مما تكتبه في هذه الاعدادات 🙂 وهنا تم مناقشة بعض النصائح المهمة جعفر -
السلام عليكم 🙂 اخي الفاضل canary2522 ، في المرات القادمة ، رجاء مراعاة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف جعفر
-
طلب حل مشكلة فتح ملف 32 بيت على اكسس 64بيت
jjafferr replied to kassem_geo's topic in قسم الأكسيس Access
اخي قاسم 🙂 جميع المشاركات اعلاه ترد على سؤالك ، رجاء اخبرنا الخطوات التي لم تستطع القيام بها ، حتى نستطيع مساعدتك 🙂 جعفر -
وعليكم السلام 🙂 اخي بلال ، لا توجد بيانات كافية لطلبك ، انت تطلب منا ان نخمن ، ولما نعطيك الاجابة ستقوم باعطاء معلومات اكثر علشان توصل للحل الذي في بالك !! الاستعلام هذا يقوم بالعمل ، وتلاحظ اني استعملت حقل "الموسم المدرسي" كمعيار ، فيجب عليك بعد اضافة البيانات ، باضافة حقل المكان او المدرسة كمعيار آخر يشير الى مربع التحرير والسرد في النموذج ، . حاليا وضعت الكود التالي على حدث "تحميل النموذج" ، ولكن عليك وضع الكود على حدث "بعد تحديث" مربع التحرير والسرد ، واكمال بقية الحقول (طبعا بعد ان تضيفها للاستعلام) : Private Sub Form_Load() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From qry_Sums") rst.MoveFirst Me.Male = rst!Male Me.Female = rst!Female Me.Certificate_L = rst!Certificate_L Me.Certificate_M = rst!Certificate_M rst.Close: Set rst = Nothing End Sub . والنتيجة . جعفر 1437.موسسة1.accdb.zip
-
مشكلة ثقل وبطىء البرنامج بعده وضعه في السيرفر
jjafferr replied to samisalim's topic in قسم الأكسيس Access
السلام عليكم 🙂 انا متابع الموضوع من البداية ، ونصيحة الاخوان في مكانها ، وبقية النصائح هنا: . كما عندي هذه الملاحظات في الكود: 1. لا تستخدم On Error Resume Next إلا في حالات جدا خاصة ، وانما استعمل رقم الخطأ وتعامل معاه: 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 = 1234 Then 'ignore, Resume Next ElseIf 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 . 2. ولو انك تقدر تستخدم فلتر النموذج هكذا : myCriteria = "" myCriteria = myCriteria & "(" myCriteria = myCriteria & "[BRANDS]= '" & Me.cmbBRANDS.Column(1) & "'" myCriteria = myCriteria & ")" Debug.Print myCriteria Me.Filter = myCriteria Me.FilterOn = True . وهذه نصائح على استعماله: . ولكني انصحك بإستخدام فلتر النموذج عن طريق الاستعلام : . 3. لا تستخدم Dim بدون ان تُعرّف نوع المتغير ، يعني اذا استخدمت (Dim i) فهذا معناه Dim i as Variant 4. لما تستعمل الامر Set rs = CurrentDb.OpenRecordset ، فإنك تضع جميع البيانات الجدول/الاستعلام في ذاكرة الكمبيوتر Ram ، فيجب عليك حذف هذه البيانات في نهاية الكود ، هكذا: rst.close: set rs = nothing جعفر -
وعليكم السلام ورحمة الله وبركاته القاعدة تقول: استعمل اصغر (اقدم) نسخة في صنع البرنامج ، فلن تحصل على مشاكل في النسخ الاحدث ، والسبب ، ان النسخ الاحدث يكون فيها اضافات وميزات غير موجودة في النسخ الاقدم. انصحك بقراءة هذا الموضوع ، فقد ناقشنا فيه الكثير : جعفر
-
السلام عليكم 🙂 يمكن متابعة الموضوع من موقع مايكروسوفت مباشرة: https://support.microsoft.com/en-us/office/error-in-access-when-opening-a-database-on-a-network-file-share-6cbc1560-62c2-46e7-9980-d079a46f5acc او من المنتدى الذي تشارك به مايكروسوفت: https://answers.microsoft.com/en-us/msoffice/forum/all/lock-file-problems-with-access-1601380121086/9cb70637-7d21-4e1e-941e-11b1c9e217c6 او من الموقع الذي يتابع الموقعين اعلاه ويعطيك الخلاصة: https://www.devhut.net/access-lock-file-issues/ حسب آخر المعلومات الموجودة: التحديثات اللي عملت المشكلة هي : KB5002104 for Office 2013 KB5002099 for Office 2016 Office 2019 Version 1808, build 10381.20020 revert to 10380.20037 Office LTSC 2021 Version 2108, build 14332.20204 revert to 14332.20176 and for Microsoft365 users, the build numbers of concern are: Current Channel Version 2111, build 14701.20248 revert to 14701.20226 Monthly Enterprise Channel Version 2110, build 14527.20340 revert to 14430.20342 Monthly Enterprise Channel Version 2109, build 14430.20380 revert to 14430.20342 Semi-Annual Enterprise Channel (Preview) Version 2108, build 14326.20692 revert to 14326.20600 Semi-Annual Enterprise Channel Version 2102, build 13801.21086 revert to 13801.21050 Semi-Annual Enterprise Channel Version 2008, build 13127.21842 revert to 13801.21050 . التحديثات التي عملت المشكلة ، هي للاوفيس وليست للوندوز ، ولدينا الحلول التالية: هناك تحديث صدر . ولكن التحديث اصلح الاوفيس 2019 فقط ، ولا تزال المشكلة في الاصدارات التالية: الاوفيس 2013 ، الاوفيس 2016 MSI ، الاوفيس LTSC 2021 فإذا كنت من اصحاب الوندوز التي تنتظر تحديث آخر يحل المشكلة ، يمكنك عمل التالي للتخلص من المشكلة: قم بإزالت وحذف هذه التحديثات ، هكذا : https://docs.microsoft.com/en-us/office/troubleshoot/installation/ability-to-uninstall-office بالنسبة لمسار قاعدة البيانات الخلفية (الجداول) ، استخدم اسم مسارها ولا تختصره بحرف ، يعني استعمل Server_01\myDB\ABC.accd\\ ، ولا تستعمل الاختصار z:\myDB\ABC.accd ، اوقف تحديثات الوندوز ، لأنك لو لم توقفها ، فسيقوم الوندوز بتنصيب هذه التحديثات مرة اخرة ، وتحصل لك المشكلة مرة اخرى. او قمت بإزالت الاوفيس ، وتركيب الاوفيس 2019 (الافيس 2010 لم يتأثر بالتحديث ، لأن التحديث لا يخصه). رجاء من الاخوة الذين يعانون من هذه المشكلة ، ان يخبرونا بالجديد ، حتى يستفيد الجميع 🙂 جعفر
-
1. استخدامي الامر Len طريقتي في التعرف على ان المتغير: my_info المتغير ليس فاضي my_info = "" وليس فيه قيمة isNull(my_info)= true يعني بدل if my_info="" or isnull(my_info)= true then استعمل if len(my_info & "")=0 then . 2. لماذا استخدمت if لما الكود يقرأ الدالة لأول مرة ، فقيمة المتغير my_info هو "" (لأننا اعلنا ان string ، بينما لو كان المتغير رقم / مثل integer او Double او .. فتكون قيمته 0) ، فيقوم الكود بالذهاب الى الجدول مرتين (مرة لكل Dlookup) (مع انك تستطيع الذهاب الى الجدول مرة واحدة وقراءة قيمة الحقلين مرة واحدة ) ، ولما تقرأ الدالة مرات اخرى ، فيقوم الكود بالذهاب الى الجدول مرتين ، بينما لما استخدمت الامر if في الدالة ، فالدالة لما تجد ان المتغير my_info فيه قيمة (اي انه ذهب للجدول سابقا واحضر القيمتين) ، فلا تذهب للجدول ، وانما تعطي/تظهر القيمة مباشرة 🙂 جعفر
-
ولا يهمك ، تفضل Private Sub b_emp_add_Click() On Error Resume Next If Forms![LoginFourm]![Delete] = 0 Then MsgBox خطأ .. ليس لديك صلاحيات اصدار أذن", 0 + 16 + 1048576", fMy_Msgs Else DoCmd.OpenForm "Permission_add", , , , acFormAdd End If End Sub . والدالة option comapre database option explicit dim my_info as string public function fMy_Msgs() as string if len(my_info & "")=0 then my_info = DLookup("[name_pro]", "[info]") & " | " & DLookup("[Version_pro]", "[info]") end if fMy_Msgs = my_info end function جعفر
-
وعليكم السلام 🙂 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