اذهب الي المحتوي
أوفيسنا

Moosak

أوفيسنا
  • Posts

    2330
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    58

كل منشورات العضو Moosak

  1. السلام عليكم ورحمة الله وبركاته أسعد الله أوقاتكم بكل خير وسرور .. وتقبل الله منا ومنكم صالحات الأعمال .. 😊🤲🏻 يطيب لي أن أقدم لكم هذا الهدية المتواضعة بمناسبة هذا الشهر الفضيل 🙂🌼🎁 استبدل الرسائل العادية في أكسس برسائل ذات تصاميم قمة في الإبداع وبمميزات إضافية . من مميزات هذه الرسائل: - تصميم جميل وألوان جذابة. - خاصية ذاتية الاختفاء. - عنوان رئيسي + عنوان فرعي - تحكم بالنص ( عربي - إنجليزي ) ( توسيط - محاذاة على اليمين أو اليسار) - سهلة الاستخدام . الشرح على اليوتيوب : التحميل 🙂 Moosak MsgBox.accdb ولا تنسوني من صالح دعواتكم 😊🌷🌼🌹
  2. ما شاء الله عليك شعلة من النشاط أستاذ فادي @Foksh 🙂 شكر لك على الهدية الرائعة ، والتنسيق الجميل والتقنيات الحلوة 🙂 أتعبني رقمي الوظيفي لحد ما حفظته 😅 طوييييييييييل .. لعلك تجعل إدخال الرقم الوظيفي كخيار .. وخصوصا للذين عندهم أرقام سابقا 🙂 ملاحظة في خيار طلب الإجازة : تاريخ النهاية ينكتب خطأ : والله يسعدك على هذي الهدايا القيمة 🙂
  3. جرب هذا : 🙂 DoCmd.OpenReport ReportName, acNormal
  4. شغل محترفين ما شاء الله 😉👌🏻 🌹🌼
  5. نعم .. هكذا يتم الأمر في ال VBA 🙂
  6. هنا يوضع اسم الجدول وليس اسم الحقل
  7. سلمت يمناك حبيبنا الغالي 😄🌹 في ميزان حسناتك يا رب 😊 تم دمج الرابط مع المشاركة الأولى 😉👌🏻
  8. Null و "" شيئان مختلفان حتى من حيث تعامل الأكسس معهما 🙂 أنصحك بمشاهدة هذه الفيديوات ( هي باللغة الإنجليزية ولكن ممكن تشغل الترجمة بالعربية ) :
  9. ضع ما شئت من الأزرار 🙂 ولكن مع مراعاة الشرط والسر الرئيسي وهو ( مسميات الأزرار ) لاحظ أن أسماء الأزرار لها تسلسل واضح .. فقط عندما تضيف أي زر رئيسي أو فرعي تراعي نفس النسق في التسمية .. وبعدها الكود سيتعرف بنفسه على الأزرار الفرعية لكل زر رئيسي 🙂 ولو أضفت أزرار رئيسية جديدة .. لا تنسى تضيف أسم الدالة في حدث عند النقر: ‏‏صفحة رئيسية مطورة - النموذج الثاني.accdb
  10. أزاحم الكبار فقط 😅 عمل قوائم ديناميكية متحركة :: طريقة مبتكرة بأقل كمية أكواد vba
  11. رائع رائع باشمهندس 😉👌🏼 وتم إضافة التحديث في المشاركة الرئيسية .. 🙂 أما آن الأوان لكشف الأسرار 😁😂
  12. وعليكم السلام ورحمة الله وبركاته 🙂 تفضل الكود : يعمل عندي على ويندوز 10 أوفيس 365 Sub ShowVirtualKeyboard() Dim virtualKeyboardPath As String virtualKeyboardPath = "C:\Windows\System32\osk.exe" ' Path to the virtual keyboard executable Dim shellObject As Object Set shellObject = CreateObject("WScript.Shell") shellObject.Run "C:\Windows\System32\osk.exe" End Sub
  13. السلام عليكم 🙂 تفضل هذا شريط تقدم بدون استخدام التايمر 🙂 شريط تقدم بدون تايمر.accdb
  14. من ضمن الأسباب (حسب ما واجهني ) لظهور تصرفات غريبة للأكسس بدون أي سبب منطقي هو وجود خطأ في احد الأكواد أو نقصان أحد المكتبات .. تأكد من عمل Debug > compile وإصلاح مشاكل الأكواد والمكتبات عندك ثم أعد التشغيل.
  15. أحييك على الجماليات والفنيات والألوان المبهرات باش مهندس @Foksh 👍🙂 ملاحظات بسيطة 😁 : عند الضغط على اسم البرنامج في شريط الوندوز تظهر شاشة البرنامج الرمادية 🙂 عند الضغط على [غفوة] تظهر رسالة الاستعلام ( أقترح لو تخفيها ) ظهورها مزعج 🙂 عند حذف أحد المنبهات تظل الصفحة ويطلع التالي : بعد الضغط على زر الإغلاق يظل الأكسس شغال في الخلفية 🙂 بالنسبة لنغمة المنبه أقترح تعمل قائمة منسدلة للاختيار من الأصوات المرفقة مع النظام ، وزر لاستعراض الملفات لو حب المستخدم يضيف الملف الصوتي من عنده 🙂 + لون النصوص حبذل لو يكون رمادي فاتح لما تكون الخلفية سوداء لتسهل قرائتها 🙂 هذا وتقبل تحياتي 😊🌹
  16. مرجع التعليمات من مايكروسوفت : https://learn.microsoft.com/en-us/office/vba/api/access.docmd.copyobject
  17. - تسجيل من أضاف السجل . - تسجيل من حذف السجل . - إمكانية التطبيق لجميع النماذج .. هذه ممكنة والله أعلم .. ولكن ستكون لها إجراءات إضافية وتعديلات في جدول التغيرات . 🙂
  18. وعليكم السلام ورحمة الله وبركاته .. 🙂 1- هل تريد نسخ الجدول كجدول كامل لأنه غير موجود في القاعدة المستهدفة ؟ 2- أم أنك تريد نقل البيانات فقط ؟ في الأولى يمكنك نقل (نسخ) الجدول من قاعدة بيانات إلى أخرى عن طريق الكود التالي : Sub CopyTable() Dim sourceDB As DAO.Database Dim destinationDB As DAO.Database Dim sourceTable As DAO.TableDef Dim destinationTable As DAO.TableDef ' افتح قاعدة البيانات المصدر Set sourceDB = OpenDatabase("مسار قاعدة البيانات المصدر.accdb") ' افتح قاعدة البيانات الهدف Set destinationDB = OpenDatabase("مسار قاعدة البيانات الهدف.accdb") ' حدد الجدول المصدر الذي ترغب في نسخه Set sourceTable = sourceDB.TableDefs("اسم الجدول المصدر") ' إنشاء جدول في قاعدة البيانات الهدف بنفس التركيبة Set destinationTable = destinationDB.CreateTableDef("اسم الجدول الهدف") For Each fld In sourceTable.Fields destinationTable.Fields.Append destinationTable.CreateField(fld.Name, fld.Type, fld.Size) Next fld ' إضافة الجدول الجديد إلى قاعدة البيانات الهدف destinationDB.TableDefs.Append destinationTable ' نسخ بيانات الجدول destinationDB.Execute "INSERT INTO [اسم الجدول الهدف] SELECT * FROM [اسم الجدول المصدر]" ' أغلق قواعد البيانات sourceDB.Close destinationDB.Close ' تحرير الذاكرة Set sourceTable = Nothing Set destinationTable = Nothing Set sourceDB = Nothing Set destinationDB = Nothing MsgBox "تم النسخ بنجاح!" End Sub وفي حال أنك تريد نقل البيانات فقط .. أعمل ربط بين القاعدتين عن طريق استيراد الجدول كجدول مرتبط .. ثم يمكنك نقل البيانات بين الجدولين عن طريق استعلام الإلحاق.
  19. هذه الطريقة تتيح لك الحرية في اتخاذ إجراءات خاصة لحقول معينة بدل التطبيق على الجميع جملة واحدة .. وهنا استفدنا منها في عملية تخزين قيمة القائمة المنسدلة في المتغير قبل التغيير .
  20. المستحيل ليس له وجود مع المبدعين الله الله عليك مستر فادي 😄 بس زين لو تشرح الفكرة 🙂
  21. توقعتك تسأل .. 😄🖐🏻️ .. هذه واحدة من الطرق الجميلة لتطبيق دالة معينة على مجموعة من العناصر مرة واحدة .. قمت بتحديد جميع العناصر ثم كتبت اسم الدالة في حدث بعد التحديث هكذا ( ()AddToAudit= ) وهذه الطريقة أسهل من كتابة الحدث لكل عنصر على حده .. 🙂 ولها شروط سأذكرها لك .. أما بالنسبة للقائمة المنسدلة وضعت لها دالة منفصلة وذلك لحفظ القيمة الحالية في متغير عام قبل التغيير عند حدث ( عند التركيز ) .. ولو كانت عندك أكثر من قائمة منسدلة حددها جميعا وألصق اسم الدالة لها جميعا مرة واحدة .. من شروط استخدام هذه الطريقة : 1- أن يكون الكود (الإجرائية) من نوع Function وليس Sub . 2- أن لا يكون لنفس العنصر أي أكواد أخرى في نفس الحدث .. وفي حال الحاجة لوضع أكواد أخرى في نفس الحدث يتم العودة للطريقة الإعتيادية لكتابة الكود ويتم مناداة الدالة بالطريقة المعتادة : Call AddToAudit()
  22. عمي أبو خليل @ابوخليل تقبل الله اجتهاداتك وسعيك 🙂 قمت بتغيير الاستراتيجية قليلا وحصلت على نتائج طيبة 😉 جرب المرفق وأخبرني رأيك 🙂 Track Changes - Moosak.accdb
  23. الرابط الموجود في الفورم لم يتم إعداده للمشاركة ( يطلب إذن لتحميله ) ، يجب عليك إتاحة المشاركة للتمكن من التحميل .. هذا هو كود التحميل من الجوجل درايف : كود للتحميل المباشر من الجوجل درايف Google drive شرح الكود: لتحميل الملفات من جوجل درايف بنفس الاسم والامتداد فقط تحتاج رابط الملف كاملا وأن يكون الملف عاما (مشاركا مع الجميع) الكود يعالج مشكلة أسماء الملفات العربية صالح للنواتين 32بت وكذلك 64بت يعمل في كل التطبيقات التي تستعمل vba يوضع هذا الكود في موديول جديد الكود: Sub DownloadFromGD(GDriveURL As String) Dim myURL As String Dim FileID As String Dim xmlhttp As Object Dim name0 As Variant Dim oStream As Object FileID = Split(Split(GDriveURL, "/d/")(1), "/")(0) myURL = "http://drive.google.com/u/0/uc?id=" & FileID & "&export=download" Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.Open "GET", myURL, False xmlhttp.Send name0 = DECODEURL(xmlhttp.getResponseHeader("Content-Disposition")) If name0 = "" Then MsgBox "الملف غير موجود في الموقع" Exit Sub End If name0 = Split(name0, "*=UTF-8''")(1) 'split after *=UTF-8'' to get utf8 names If xmlhttp.Status = 200 Then Set oStream = CreateObject("ADODB.Stream") oStream.Open oStream.Type = 1 oStream.Write xmlhttp.responseBody oStream.SaveToFile CurrentProject.Path & "\" & name0, 2 ' 1 = no overwrite, 2 = overwrite oStream.Close End If Set xmlhttp = Nothing Set oStream = Nothing MsgBox "تم تحميل الملف في نفس مسار البرنامج باسم: " & vbNewLine & vbNewLine & name0 End Sub Function DECODEURL(varText As Variant) Static objHtmlfile As Object If objHtmlfile Is Nothing Then Set objHtmlfile = CreateObject("htmlfile") objHtmlfile.parentWindow.execScript "function decode(s) {return decodeURIComponent(s)}", "jscript" End If DECODEURL = objHtmlfile.parentWindow.decode(varText) End Function طريقة الاستدعاء (الاستخدام): طريقة استخدام الكود مثل السطر المكتوب في الإجراء test أو يمكن وضعه عند الضغط على زر مثلا ويتكون هذا السطر من كتابة اسم الاجراء DpwnloadFromGD ثم رابط الملف المراد تحميله بين علامتي تنصيص Sub test() DownloadFromGD "https://drive.google.com/file/d/18jrvTxgR1QTzwm8YaJHIvsdOmqj02L2x/view" End Sub
×
×
  • اضف...

Important Information