-
Posts
2418 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
65
Moosak last won the day on سبتمبر 3
Moosak had the most liked content!
السمعه بالموقع
2610 Excellentعن العضو Moosak
البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
Graphics Designer, Programmer
-
البلد
Oman
-
الإهتمامات
التصميم الجرافيكي ، الأكسس ، VBA
وسائل التواصل
-
MSN
https://www.youtube.com/c/MousaAlKalbani
-
Website URL
https://www.instagram.com/mousa.alkalbani
-
Yahoo
mousa.alkalbani@gmail.com
اخر الزوار
17928 زياره للملف الشخصي
-
تنسيق مسافات الكود من خلال أداة Smart Indenter فى Add-Ins
Moosak replied to أحمد العيسى's topic in قسم الأكسيس Access
شكرا لك أخي @أحمد العيسى على الطرح الجميل .. 🙂🌹 والشكر موصول لأستاذنا فادي @Foksh 🙂🌼 وهذي لها تحديث إن شاء الله .. 😉👌 لأن النسخة الحالية مربوطة ب API الجيمناي المجاني ولكنه يتعثر بعض الأحيان .. -
وعليك السلام ورحمة الله وبركاته مهندسنا العزيز @Foksh .... جزاك الله خيرا على المجهود الجميل والإخراج الرائع والأفكار النيرة 😊🌼 غفر الله لك ولوالديك ومن أحببت .. 🤲🙂 العمل في قمة الروعة ماشاء الله ، والفكرة جديدة ورائعة أيضا في مضمونها .. لك تحياتي أعتقد أن الفكرة ورائها هو حفظ نسخة من الملف الأصلي accdb داخل ملف ال exe ... كدة ولا مش كدة يا متعلمين ؟ 😅🖐️ لدي ملاحظتين : 1- ألاحظ أنك في هذا العمل الرائع ركزت على مسألة استخراج نسخة ال (accde) واسترجاعها .. أكثر من موضوع تحزيم وتسطيب البرنامج لإرساله للعميل .. كما في عملك السابق الخاص بالتحزيم .. والناتج من هذه الأداة هو ملف exe لا يستوفي جميع متطلبات التحزيم مثل الملفات المرفقة للبرنامج وتسطيب القاعدة الخلفية و .. و .. فلو تم دمج عمل الأداتين في أداة واحدة لكان الأمر في قمة الفنتاستك 👌 2- الملاحظة الثاني شكلية بحتة وهي عدم وجود تسميات توضيحية Lables على خانات الإدخال لتوضيح عمل كل خانة في هذه الواجهة : هذا ولك جزيل الشكر على جهودك الرائعة وأفكارك النيرة 😇
-
وتكملة لمسيرة الأفكار .. ومشاركة مع مهندسنا العزيز @منتصر الانسي 🙂 .. تم تعديل الكود ليقوم بتعديل اسم البرنامج بنفسه ثم يعيد تشغيل البرنامج مرة أخرى 🙂 Private Sub Form_Load() Const strCorrectName As String = "gelani" ' اكتب هنا الاسم الصحيح بدون الامتداد Dim currentPath As String Dim targetFullName As String Dim batchFilePath As String Dim fso As Object Dim ts As Object ' التحقق من مطابقة اسم الملف الحالي للاسم المطلوب If CurrentProject.Name <> strCorrectName & ".accdb" Then Label0.Caption = "جاري تعديل اسم البرنامج..." currentPath = CurrentProject.Path targetFullName = currentPath & "\" & strCorrectName & ".accdb" batchFilePath = currentPath & "\rename_db.bat" ' إنشاء الملف الدفعي لتنفيذ إعادة التسمية بعد الإغلاق Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.CreateTextFile(batchFilePath, True) ' كتابة الأوامر داخل الملف الدفعي ts.WriteLine "@echo off" ts.WriteLine "chcp 65001 > nul" ts.WriteLine "timeout /t 2 /nobreak > nul" ' انتظار إغلاق ملف أكسس تماماً لفك القفل ts.WriteLine "cd /d """ & currentPath & """" ts.WriteLine "ren """ & CurrentProject.Name & """ """ & strCorrectName & ".accdb""" ts.WriteLine "start """" """ & targetFullName & """" ' إعادة تشغيل القاعدة بالاسم الجديد ts.WriteLine "del ""%~f0""" ' حذف الملف الدفعي بعد الانتهاء ts.Close ' تنبيه المستخدم قبل الإغلاق والتعديل MsgBox "تم اكتشاف أن اسم قاعدة البيانات غير صحيح!" & vbCrLf & _ "سيتم إغلاق البرنامج وتعديله تلقائياً إلى: " & strCorrectName & ".accdb", _ vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading, "تعديل اسم البرنامج" ' تشغيل الملف الدفعي في الخلفية Shell "cmd.exe /c """ & batchFilePath & """", vbHide ' إغلاق قاعدة البيانات الحالية DoCmd.Quit Else Label0.Caption = "الإسم صحيح" End If End Sub gelani.accdb
-
الطريقة الأسهل: استعلام تجميعي (Query) أنشئ استعلاماً جديداً وضع فيه هذا الكود (SQL View)، مع تعديل اسم الجدول Students إلى اسم جدولك الحقيقي: SELECT Class AS كود_الصف, class_no AS كود_الفصل, Sum(IIf(sex=1,1,0)) AS بنون, Sum(IIf(sex=2,1,0)) AS بنات, Count(*) AS الإجمالي FROM Students GROUP BY Class, class_no ORDER BY Class, class_no; هذا الاستعلام سيعطيك جدولاً فيه عدد البنون وعدد البنات والإجمالي لكل فصل من فصول كل صف. الطريقة الثانية: داخل التقرير نفسه (أسفل التقرير) إذا كنت تريد الأعداد تظهر أسفل التقرير مباشرة، افتح التقرير في Design View ثم: 1) في تذييل التقرير (Report Footer) أو تذييل المجموعة (Group Footer): أضف مربع نص وضع فيه: =Sum(IIf([sex]=1,1,0)) هذا لحساب البنون. ومربع نص آخر: =Sum(IIf([sex]=2,1,0)) هذا لحساب البنات. ومربع نص للإجمالي: =Count(*) إذا أردت التفصيل حسب كل فصل تحت بعضه (تجميع) لعمل تذييل لكل فصل يعرض عدد البنون والبنات فيه: في التقرير اضغط Grouping & Totals (أيقونة التجميع). اختر التجميع حسب Class ثم class_no. في تذييل المجموعة ضع نفس المعادلات السابقة. بهذا تحصل على: عدد البنون والبنات لكل فصل في تذييل الفصل. وعدد البنون والبنات للصف كامل في تذييل الصف. وعددهما لكل المدرسة في تذييل التقرير. ملاحظة مهمة: تأكد أن حقل sex مخزّن كرقم (1 و 2) وليس نصاً، لأن المعادلة IIf([sex]=1,...) تفترض ذلك. إذا كان نصاً، اكتب IIf([sex]="1",1,0) بدلاً منها.
-
مساعدة مساعدة بخصوص تطبيق ماكرو على الجداول بشكل برمجي وليس يدوي
Moosak replied to Foksh's topic in قسم الأكسيس Access
تحياتي وسلامي لك أخي منتصر 🙂 الحقيقة أن هذه الفكرة سبق أن عرضها معلمنا الكبير @jjafferr في هذه المواضيع 👈 سِحر جداول الاكسس في تسجيل الوقائع و سِحر جداول الاكسس في تسجيل الوقائع عن طريق Tables Data Macro لذلك أحس أني عندي فكرة بسيطة عن هذه الميزة .. طبعا الموديول كاملا تم تصميمه عن طريق أداة موجهة بالذكاء الاصطناعي ولعلي أطرحها قريبا إن شاء الله .. والإجابة المباشرة على سؤالك هي : لا لن يؤثر التغيير الذي عملته على عمل الدوال الأخرى في الموديول .. ومن الخير ما فعلت .. حيث كانت دواعي إنشاء تلك الوظيفة (الدالة) هي ضبط الأكواد الرئيسية (تطبيق وفك الحماية عن الجداول) والتأكد من سلامتها .. ولكن أنت فعلت فائدتها للتأكد من وجود الحماية قبل تطبيقها وهذه فطنة منك 👍🙂 جواب هذا السؤال ستحصل عليه بعدما تتعمق في حوار الماكرو هذا .. وضني بك من خلال سهرة البارحة أنك قد عرفت الجواب فعلا 😅🖐️ ننتظر مفاجآتك -
مساعدة مساعدة بخصوص تطبيق ماكرو على الجداول بشكل برمجي وليس يدوي
Moosak replied to Foksh's topic in قسم الأكسيس Access
حبيبنا .. أنت الآن تمسك الأداة الأساسية بيدك .. وباقي أنك تبدع في استخدامها بعدة أشكال 😁👌 واحد من الحلول : تستدعي دالة فك الحماية في زر الحفظ قبل أمر الحفظ وتعيد الحماية بعد تأكيد الحفظ .. بكذا تضمن أن الحماية تشتغل في الجداول فقط 👍🏻🙂 هذي بلمسة بسيطة من أيدك الكريمة وتكون محلولة قدامك .. 😅🖐🏻 هم سطرين لوووب تكتبهم يطبقولك الدالة على كل الجداول 😎 -
مساعدة مساعدة بخصوص تطبيق ماكرو على الجداول بشكل برمجي وليس يدوي
Moosak replied to Foksh's topic in قسم الأكسيس Access
تفضل عمي فادي .. جرب 🙂 : TblMacroVBA.accdb لتطبيق الحماية أو إزالتها على جدول أو مجموعة جداول : ' Usage (from VBA Immediate Window or code): ' ApplyTableProtection "Tbl_Cust" ' single table ' ApplyTableProtection "Tbl_Cust", "Tbl_Orders" ' multiple tables ' ' RemoveTableProtection "Tbl_Cust" ' RemoveTableProtection "Tbl_Cust", "Tbl_Orders" -
قوائم مختصرة ⭐ هدية ~ صانع القوائم المختصرة 2026 ⭐
Moosak replied to Foksh's topic in قسم الأكسيس Access
شكرا .. شكرا .. شكرا .. يوافي حق هذا الإبداع .. ما شاء الله زدت الحلاوة حلا ما شاء الله عليك 🌼 رزقك الله خير ما في الدنيا وأفضل ما في الآخرة .. وأحسن الله إليك ولكل من تحب .. 💖 يظهر من مشاركة الأستاذ @أحمد العيسى أن هناك العشرات من الأيقونات التي لم يتم إضافتها بعد 😅🖐️ وأيضا هناك ملاحظة بسيطة جدا .. وهي أنه بعد تعيين الأيقونات والضغط على زر المعاينة فإن التغيير لا يظهر مباشرة إلا بعد أن يتم حفظ القائمة .. حفظك الله 🙂- 62 replies
-
- 1
-
-
شكرا لجمال روحك أيها النقي 😊🌷 تعمل بكل كفاءة ما شاء الله 😎👌⭐
- 17 replies
-
- 1
-
-
- shortcut menu
- القائمة المختصرة
-
(و2 أكثر)
موسوم بكلمه :
-
فقط لدي ملحوظة بسيطة بعد التطبيق العملي .. 🙂 عند حفظ الأداة كإضافة للبرنامج .. وعند تطبيق الأكواد على قاعدة جديدة فإنها لا تعمل بسبب أنها لا تحتوي على الموديولين التابعين لها وهذا سيحوجك إلى استيرادهما من ملف القالب () ويعيدنا إلى نقطة الإنطلاق من البداية 😅 (بمعنى أنني لازلت محتاج يكون هذا الملف موجود جنبي) ! السؤال هو : هل يمكن إدراج الموديولين تلقائيا في القاعدة التي يتم استخدام الأداة فيها ؟
- 17 replies
-
- 1
-
-
- shortcut menu
- القائمة المختصرة
-
(و2 أكثر)
موسوم بكلمه :
-
الله .. الله .. الله أحييك أخي منتصر على الإضافات الأخيرة بصراحة شي خيال ما شاء الله تبارك الله .. 😇 وخصوصا نموذج الأيقونات عجيييييب ويختصر للمستخدم عملية البحث .. شي متعوب عليه فعلا .. بارك الله فيك .. سير ياشيخ الله يوفقك دنيا وآخرة يارب 🤲
- 17 replies
-
- shortcut menu
- القائمة المختصرة
-
(و2 أكثر)
موسوم بكلمه :
-
ما شا الله عليك أخي منتصر .. موسوعة عامرة بالأفكار الرائعة 😊👌🌼 كنت أستخدم القوائم المنسدلة لعمل هذه الخيارات .. والآن سهلت علي الأمر .. جزاك الله عنا كل خير .......................................................... فقط ملاحظة بسيطة .. أنه عند الضغط خارج المجموعة يتم تفعيل الخيار الأول من القائمة .. والأصل أنه يخرج من الدالة ..
- 17 replies
-
- shortcut menu
- القائمة المختصرة
-
(و2 أكثر)
موسوم بكلمه :
-
وعليكم السلام ورحمة الله وبركاته .. 🙂 حسب الظاهر أنه توجد لديك سجلات محذوفة في المنتصف وهذا سبب اختلاف الأرقام .. والعدد الذي يظهر في الأسفل هو رقم ترتيب السجل بين السجلات .. وليس له علاقة برقم السجل في حقل الترقيم التلقائي أو حتى الترقيم اليدوي .. ولو أردت أن تجعلهما متساويين .. ممكن تستخدم هذي الدالة اللي تعطيك أيضا ترتيب السجل بين السجلات حتى لو تم فلترة السجلات على شروط محددة .. *كود RowNum لعمل ترقيم متسلسل للسجلات في النموذج المستمر أو المفرد في حقل غير منظم* *شرح الكود:* يوضع في موديول منفصل .. ثم في حقل المسلسل في النموذج ويكون حقل غير منظم يكتب في مصدر بياناته هكذ : =RowNum([Form]) *الكود:* Public Function RowNum(frm As Form) As Variant On Error GoTo Err_RowNum 'Purpose: Numbering the rows on a form. 'Usage: Text box with ControlSource of: =RowNum([Form]) With frm.RecordsetClone .Bookmark = frm.Bookmark RowNum = .AbsolutePosition + 1 End With Exit_RowNum: Exit Function Err_RowNum: If Err.Number <> 3021& Then 'Ignore "No bookmark" at new row. Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description End If RowNum = Null Resume Exit_RowNum End Function *طريقة الاستدعاء (الاستخدام):* =RowNum([Form]) تكتب نصا كما هي *مرجع:* #https://www.officena.net/ib/topic/117111-%D9%85%D8%B3%D9%84%D8%B3%D9%84-%D9%84%D9%84%D8%B5%D9%86%D9%81-%D9%81%D9%8A-%D8%A7%D9%84%D9%86%D9%85%D9%88%D8%B0%D8%AC/#comment-705668 *مكتبة الأكواد*
-
Moosak started following هل من الممكن تشغيل ملف Accde واحد بنواتين ( 32 و 64 )🤔
-
سؤال نقاشي .. هل من الممكن تشغيل ملف Accde واحد بنواتين ( 32 و 64 )🤔
Moosak replied to Foksh's topic in قسم الأكسيس Access
كالعادة حبيبنا ،، أنت نزل البتاع وإحنا نجرب 😁.. والأخطاء أو النواقص بتطلع من نفسها 😇🖐️ وبهذي الطريقة بتكتمل التكة الباقية إن شاء الله .. صعب ندخل معاك عالخط من النهاية بعد ما قطعت شوط طويل من البحث والتجربة 🙃 (اطمن) إحنا بندعيلك بالتوفيق والتيسير 😅🤲
