-
Posts
9969 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم بالاشارة الى الموضوع التالي ، والطرق التي تمت الاشارة اليها : في المشاريع اللي احتاج لها اعدادات ، كنت استعمل جدول بسطر واحد ، ولكن في احد مشاريعي ، هذه الاعدادات وصلت الى 21 ولا تزال في زيادة ، فعملت تغيير في الجدول ، واصبح هناك سجل خاص لكل واحدة من الاعدادات: . . وهذا شكل النموذج المستمر للمستخدم: . وبياناته : . ونعرف انه في النموذج المستمر ، لا نستطيع التحكم بشكل حقل دون آخر (إلا عن طريق التنسيق الشرطي ، وعن طريق كود خاص يخص مربع الزر Command button) ، لذلك كان من المهم ان اكتب عبارة معين في اسم الحقل حتى اميزه عن الآخرين (او ان اعمل حقل اكتب فيه طريقة التعامل مع هذا السجل (استفيد منه في التنسيق الشرطي مثلا)) ، لذا نرى ان زر (command button) جميع الحقول التي بحاجة الى اختيار مجلد لها ، بدأ اسم الحقل بالكلمة Path (طبعا هذا مثال) ، وعليه استطعت ان اخفي الزر لبقية السجلات هكذا: Private Sub Detail_Paint() If Left(Me.sName, 4) <> "Path" Then Me.cmd_Path.Transparent = True Else Me.cmd_Path.Transparent = False End If End Sub وعند فتح البرنامج ، اقوم بتشغيل هذه الدالة حتى يتم استيراد البيانات من الجدول الى ذاكرة اكسس : Option Compare Database Option Explicit ' '- tbl_Settings contain the defaults for this program, '- instead of having all these fields in one record, '- we have records of these fields sName, sValue, sDataType '- so here we deal with these values, read/write ' '- jjafferr '- v1. 17/04/2025 ' Function tbl_Settings_Data() '- load the values for the table to TempVars, for each field Dim rstS As DAO.Recordset Dim RC As Long, i As Long Set rstS = CurrentDb.OpenRecordset("Select * From tbl_Settings") rstS.MoveLast: rstS.MoveFirst: RC = rstS.RecordCount For i = 1 To RC '- clean the old values of THIS record TempVars.Remove (rstS!sName) '- since TempVars is Variant, lets set the actual field values based on the field sDataType If rstS!sDataType = "Number" Or rstS!sDataType = "Yes/No" Then TempVars.Add (rstS!sName), CLng(rstS!sValue) ElseIf rstS!sDataType = "Text" Then TempVars.Add (rstS!sName), CStr(rstS!sValue) ElseIf rstS!sDataType = "Date/Time" Then TempVars.Add (rstS!sName), CDate(rstS!sValue) End If rstS.MoveNext Next i rstS.Close: Set rstS = Nothing End Function Function ListTempVars() '- list all TemVars values in this Database Dim i As Long For i = 0 To TempVars.Count - 1 Debug.Print TempVars(i).Name, TempVars(i).Value, VarType(TempVars(i)) Next i End Function Function Update_a_Field(New_Value As String, Field_Name As String) ' ' usage from the Form, for example: ' Call Update_a_Field(Forms!frm_Main!BG_Pixel_Color, "Color_Reference") ' '- update the field value in the table DoCmd.SetWarnings False 'DoCmd.RunSQL ("UPDATE tbl_Settings SET sValue =" & Me.BG_Pixel_Tolerance & " WHERE sName='Color_Tolerance'") DoCmd.RunSQL ("UPDATE tbl_Settings SET sValue =" & New_Value & " WHERE sName='" & Field_Name & "'") DoCmd.SetWarnings True '- update the TempVar TempVars.Remove (Field_Name) '- Remove the field TempVars.Add (Field_Name), New_Value '- add the field with the new value End Function . وعليه ، وعند طلب اي قيمة في البرنامج ، استعمل: اسم الحقل في الجدول Path_Employees_Pic_Folder طريقة طلب القيمة TempVars!Path_Employees_Pic_Folder طريقة استعماله Me.Picture = TempVars!Path_Employees_Pic_Folder & Me.Employee_ID & ".jpg" . السبب الذي جعلني استخدم TempVars يدلا عن الاكواد العامة او الدوال الخاصة هو ، اني اخذ البيانات من الجدول مرة واحدة فقط عند تشغيل البرنامج ، وهذه البيانات تبقى في ذاكرة البرنامج حتى عند استلام رسالة خطأ (عند ظهور رسالة الخطأ ، يقوم اكسس بحذف جميع المتغيرات التي بذاكرنه ، ما عدا بيانات TempVars) ، وبكل بساطة يمكننا قراءة قيمتها من نافذة immediate window في صفحة الكود هكذا: . رجاء ملاحظة ان علامة الاستفهام يجب ان تكون بالانجليزي. ---------------------------------------------------------- 30-05-2025 تم اضافة كود تحديث بيانات الجدول و TempVars ، واتضح انه اسهل مما كنت اتوقع 🙂 جعفر
-
تغيير صورة ( شعار / صورة / غير ذلك ) في النماذج والتقارير
jjafferr replied to عاشق_الرقي's topic in قسم الأكسيس Access
وعليكم السلام اما طريقتي: 1. اعمل مجلد للصور (مثلا اسمه Logo) في نفس مكان وجود قاعدة بياناتك (الكود المسار سيختلف اذا كانت قاعدة بياناتك هي الواجهة او جداول البيانات)، 2. اعمل صورة لإسم الشركة (مثلا img_Company.jpg) ، وصورة اخرى لإسم الفرع ، القسم ، الشعبة ، وهكذا ، صورة لكل شيء تريد عرضه في البرنامج او طباعته)، 3. فب النموذج او التقرير اعمل كائن للصورة (مثلا Company_img)، 4. في حدث OnLoad للنموذج ، او حدث تنسيق قسم التفصيل في التقرير ، اكتب الكود التالي لكل صورة me.Company_img.picture= currentproject.path & "\Logo\img_Company.jpg" . -
وعليكم السلام الافكار الجديدة دائما تخلينا نفكر خارج الصندوق، شكرا جزيلا اخوي ابو جودي 🙂
- 17 replies
-
- 1
-
-
- شخابيط
- شخابيط وأفكار
-
(و33 أكثر)
موسوم بكلمه :
- شخابيط
- شخابيط وأفكار
- شخابيط وافكار
- شخابيط ابو جودى
- شخابيط و أطروحات
- اوفيسنا
- منتديات أوفيسنا
- منتديات اوفيسنا
- قسم الاكسس
- قسم الأكسيس
- قسم الأكسيس access
- إدارة فتح وأغلاق النماذج
- فتح وأغلاق النماذج
- فتح وإغلاق النماذج
- فتح نموذج واغلاق النموذج الحالى
- اغلاق النموذج الحالى وفتح نموذج اخر
- navigateform
- microsoft access
- vba
- إدارة النماذج
- فتح النماذج
- إغلاق النماذج
- formopenmode
- فلتر wherecondition
- wherecondition
- فلتر
- openargs
- برمجة access
- كود vba
- نماذج access
- تنقل بين النماذج
- ماكرو access
- debugprint
- قاعدة بيانات access
- تطوير تطبيقات access
-
الموقع التالي فيه روابط وفيها برنامج اكسس ممكن الاستفادة منه (البرنامج للبيع، بس يمكنك انزاله بلاش) : https://isladogs.co.uk/32-64-bit-conversion/index.html
- 28 replies
-
- 3
-
-
- اداة تحويل الاكواد،
- 32 الى 64،
-
(و1 أكثر)
موسوم بكلمه :
-
وعليكم السلام اهلا اخي فادي 🙂 اهم شيء في هذا الموضوع، هو الرجوع الى تعليمات مايكروسوفت في التعامل مع دوال نواة 64 بت ، في الرابط التالي: https://www.microsoft.com/en-us/download/details.aspx?id=9970 ملف النص في الرابط اعلاه يعطيك تفاصيل الدالة على نواة 64 بت. المثال الذي استعملته انت، وانا متأكد بأنك كنت حريص في انتقاء الدالة، توجد به 3 فروقات عن الدالة في ملف مايكروسوفت (السطر الثاني من ملف مايكروسوفت) : والمسألة لا تتوقف عند هذا السطر فقط، فهناك دوال معقدة تحتاج الى استعمال if# في دالتي الخاصة. رجاء قراءة الموضوعين التاليين ، فطريقة العمل تختلفان ، وفيهما بعض الامثلة المختلفة: . .
- 28 replies
-
- 1
-
-
- اداة تحويل الاكواد،
- 32 الى 64،
-
(و1 أكثر)
موسوم بكلمه :
-
مشكلة في حجم ملف الـ Database الحد الاقصى للمساحة
jjafferr replied to pingo22's topic in قسم الأكسيس Access
حياكم الله 🙂 -
مشكلة في حجم ملف الـ Database الحد الاقصى للمساحة
jjafferr replied to pingo22's topic in قسم الأكسيس Access
وعليكم السلام رجاء اعمل نسخة احتياط من برنامجك ، واحفظها في مكان آمن بعيد عن ملفات عملك. هذا الموضوع يفيدك في تصدير المرفقات من الجدول الى مجلد في الكمبيوتر . وهذا الموضوع لحذف المرفقات من الجداول (ولكن يجب ان تتأكد ان جميع المرفقات تم تصديرها اولا) -
يا اهلا وسهلا Jo نعم يمكن ، فقط اعمل مسار الصورة (img_path مثلا) كاملا في الاستعلام مصدر بيانات النموذج، ثم اجعل هذا الحقل مصدر بيانات الصورة. ومن واقع التجربة ، فستحتاج الى تكبير حجم الحقل (طولا وعرضا) حتى ترى الصورة بحجم مناسب، وتأكد ان احجام الصور لا تكون كبيرة (500x500 يعتبر حجم كبير ومناسب) حتى لا يصبح برنامجك بطيئ.
-
وعليكم السلام انصحك بقراءة هذه المواضيع: . . . . اما بالنسبة الى برنامجك ، فتفضل التصفية بالاستعلام (اما التصفية في النموذج ، فرجاء قراءة اول موضوع اعطيتك رابطه اعلاه). 1630.10.accdb
-
كيف يمكن فتح النموذج المنبثق في الأعلى دائماً ؟
jjafferr replied to sm44ms's topic in قسم الأكسيس Access
واقعا الموضوع سهل ، اذا بدأنا بطريقة معينة : 1. اجعل النماذج متراكمة ، 2. فقط اجعل النموذج الصغير يكون منبثق ، وافتحه بالطريقة العادية عند فتح النموذج الكبير 1629.Front.accdb -
كيف يمكن فتح النموذج المنبثق في الأعلى دائماً ؟
jjafferr replied to sm44ms's topic in قسم الأكسيس Access
اما اذا اردت النموذج الصغير دائما في المقدمة ، افتحه بهذه الطريقة DoCmd.OpenForm "FINISHED CAED",,,,,acDialog بدلا عن DoCmd.OpenForm "FINISHED CAED",acNormal -
كيف يمكن فتح النموذج المنبثق في الأعلى دائماً ؟
jjafferr replied to sm44ms's topic in قسم الأكسيس Access
وعليكم السلام في نهاية كودك ، وقبل الرسالة ، اكتب هذا السطر: FORMS("FINISHED CAED").setfocus FORMS("FINISHED CAED").Controls("FAL").setfocus وتقدر تختار اي كائن يصير ال التركيز عليه ، مو شرط الحقل اللي كتبته لك. -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
ممكن تعطينا تفاصيل اكثر لوسمحت -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
1. رجاء استعمال النسخة التي ارفقتها لك: 1628.2_Import_New_DB_Compact_Repair.accdb 2. اوقف البرامج المضادة للفيروسات ، ومن ضمنها التي تاتي مع الوندوز 10 ، Windows Security 3. كذلك اوقف جميع البرامج التي تراقب برامج الكمبيوتر مثل Adware 4. افصل الحاسبة عن الشبكة والانترنت 5. ادخل في البرنامج بينما تكون ماسك مفتاح الشف ، فهل الاكواد جميعها موجودة؟ من الواضح هناك برنامج خارجي يعتقد ان برنامجك فايروس ، فيقوم بحذف جميع الاكواد ، وخصوصا اذا كانت الحاسبة جزءً من شبكة الشركة ، وهذه الشركة لديها شروط قوية على نوع البرامج الممكن استعمالها -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
امسك مفتاح الشفت ، ثم افتح البرنامج ، حتى تدخل في وضع التصميم ، هل الاكواد جميعها موجودة ؟ اذا نعم ، لا تفتح النموذج الرئيسي ، وانما افتح اي نموذج أخر ووافق على الرسائل التي تظهر ، فهل ينفتح عندك النموذج ؟ -
-
ما هى قدره التخزين على قاعده بيانات الاكسيس بالجيجا؟
jjafferr replied to TAMER AGOOR's topic in قسم الأكسيس Access
وعليكم السلام 🙂 معظم قواعد البيانات عبارة عن جداول ، SQL Server او mySQL او ... ، وتستعمل برامج اخرى للواجهة مثل php او asp.NET او ... بينما الاكسس هو عبارة عن قاعدة بيانات تحتوي على الجداول (ونستخدم مصطلح BE عليها) ، و واجهة تحتوي على النماذج والاستعلامات والتقارير والوحدات النمطية (ونستخدم مصطلح FE عليها) ، فخلينا نفرق بينهم: قاعدة بيانات اكسس ، الجداول و الواجهة ، FE and BE: كان اقصى حجم للتخزين 2 جيجا ، بينما في الاوفيس M365 تم رفع الطاقة التخزينية الى 4 جيجا بشرط يكون الوندوز 64 بت (https://support.microsoft.com/en-us/office/what-s-new-in-access-for-microsoft-365-76454345-f85d-47af-ace1-98a456cb3496#:~:text=The 32-bit version of,when running complex Access applications.) Large Address Aware in Access The 32-bit version of Access for Microsoft 365 has been updated to be Large Address Aware (LAA). This increases the maximum address space available to Access from 2 GB to 4 GB when it is running on a 64-bit version of Windows. This is especially helpful when running complex Access applications. قاعدة بيانات اكسس ، الجداول، BE : نفس حجم قاعدة بيانات اكسس ، الجداول و الواجهة، FE and BE قاعدة بيانات اكسس ، الواجهة: يمكنك ربط FE بأي عدد من الجداول ، سواء SQL Server او mySQL او اكسس BE (2,048 للاكسس العادي، و 4,096 للاكسس M365)، بشرط ان لا يزيد حجم كل BE عن الحجم الذي تم توضيحه اعلاه. (https://support.microsoft.com/en-us/office/access-specifications-0cf3c66f-9cf2-4e32-9568-98c1025bb47c) 2 gigabytes, minus the space needed for system objects. Note: You can work around this size limitation by linking to tables in other Access databases. You can link to tables in multiple database files, each of which can be as large as 2GB. لم اواجه مشكلة في حجم 2 جيجا في اي من برامجي ، فاكبرها كان حجم البيانات حوالي 500 ميغا ، ولكن الصور المرتبطة (والتي تم تخزينها في مجلدات الوندوز) كان حجمها حوالي 2 تيرا . جعفر -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
اذا كانت بعض البرامج تعمل ، والبعض الاخر لا يعمل (يحذف الكود) ، فيجب النظر في الى الموضوع بعمق اكثر ، اما اذا كانت جميع البرامج لا تعمل ، سواء بحذف الالكسس للكود او اعطاء اخطاء اخرى ، فعندها المذنب يكون الاكسس/الاوفيس ، فيا تعمل للاكسس/الاوفيس اصلاح (باعادة تنصيب البرنامج ، ثم اختيار اصلاح (قد لا يكون هذا الاسم الصحيح ، فاسمه بالانجليزي Repair) ، او اعادة تنصيب الاكسس/الاوفيس كاملا -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
وانا كذلك ، ولكني ارفقت ملفين بعد تنظيفها 🙂 -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
تفضل 1628.2_Import_New_DB_Compact_Repair.accdb 1628.1_Fixed_Errors_Decompile_CompactRepair_4.accdb -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
جرب الملفين 1628.2025.zip -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
الامر بيدك ان اردت مساعدتنا ، وذلك بإرفاق الملف الذي يعمل. -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
سيدي الفاضل انت قلت ان عندك نسخة شغالة على ارفق هذه النسخة لوسمحت