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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. السلام عليكم ورحمة الله وبركاته في ملاحظة جانبية سأتطرق إليها للتوضيح في نقطة قد يتساءل البعض عنها في هذا الجزء For i = 0 To UBound(arLabels) UpdateLabel frm, "Label" & CStr(i + 1), arLabels(i), enLabels(i) UpdateLabel frm, "Command" & CStr(i + 1), arLabels(i), enLabels(i) Next i End Sub تمت إضافة هذا الجزء من الكود ليشمل الـ Lable كما في الجزء الأول ، والـ Command في الجزء الثاني. حيث أن المسميات ستكون متبوعة برقم وهو الذي سيحدد رقم السطر في ملفات اللغة ( Arabic , English ) ، فهنا نستطيع التوحيد في مسميات البرنامج ( كتوحيد المقامات في الرياضيات 😅 ) طبعاً هنا سنحتاج جزء واحد من السطر ، ولنفترض أن الكود سيصبح بهذا الشكل:- For i = 0 To UBound(arLabels) UpdateLabel frm, "Officna" & CStr(i + 1), arLabels(i), enLabels(i) Next i End Sub هنا قمت بتوحيد جميع العناصر والكائنات في المشروع ( مربعات نص ، ليبلات ، ازرار ..... إلخ ) تحت اسم Officna وهنا يسهل علينا - وكما ذكر معلمنا الفاضل @ابوخليل - حفظ المسميات وسهولة الوصول إليها وتحديدها .. ودمتم بخير 🤗
  2. اعتذر أخي الكريم وأستاذنا @kanory على المداخلة ، قمت بالرد وتفاجأت بردك ومتابعتك بعد التحديث 😬
  3. أخي الكريم قم بتجربة إضافة هذا الجزء قبل الجزء المسؤول عن الحفظ والتصدير .. ' تحديد نطاق الورقة بأكملها Dim rngSheet As Object Set rngSheet = objWorksheet.UsedRange ' يمكن تغيير هذا حسب احتياجاتك ' قم بتحديد خاصية NumberFormat لتنسيق الخانات التي تحتوي على الأرقام rngSheet.NumberFormat = "0"
  4. أختي الكريمة ، لتجدي الإجابة المناسبة لطلبك ، ارفقي ملف يتم التطبيق العملي عليه ، وذلك لعدم معرفة تفاصيل الجدول وحقوله ، والحقول التي في النموذج .... إلخ من تفاصيل مجهولة. دمتي بخير 🤗
  5. لا يوجد عندي فكرة محددة في الوقت الحالي اذا كانت الطريقة ممكن تكون برمجياً ، ولكن ان وجدت شيئاً ستجده هنا إن شاء الله .
  6. ولا يهمك أخي الكريم ، قد يكون الأمر غاب عن بالي ولم التفت لهذه النقطة
  7. أخي الكريم ، اتبع ما يلي لتحقيق هدفك . ثم بالعودة إلى إكسل قم بتطبيق ما يلي لتبديل تنسيق الأرقام والتاريخ . وهذه النتيجة
  8. جرب فكرة إنشاء قاعدة بيانات جديدة ، و قم بإستيراد المكونات والعناصر بشكل عام من القاعدة القديمة ، وإذا لم يتم إنجاز الحل ، فحاول ارسال قاعدة البيانات لإطلاع على السبب وتحديد المشكلة فيها.
  9. تفضل اخي الكريم @gamal gamal ، هل هذا طلبك ؟ القضايا.accdb
  10. تفضل يا صديقي ، هذا طلبك ؟ basept.accdb
  11. في اي تقرير سيكون عرض آخر جلسة للقضايا ؟؟
  12. استخدم الدالة Round ، وهذا تعديل على مثالي في مشاركة سابقة Private Sub value2_AfterUpdate() ' التأكد من أن القيمة في الحقل الأول (value1) ليست صفر If Nz(Me.value1, 0) <> 0 Then ' حساب النسبة المئوية Dim percentageValue As Double percentageValue = (Me.value2 / Me.value1) * 100 ' تقريب النتيجة لأقرب عدد كسري مع حد أقصى من خانتين عشريتين Me.percentage = Round(percentageValue, 2) & " %" End If End Sub
  13. تأكد من المكتبات اخي الكريم أولاً .
  14. أخي الكريم ، أعتقد أن المشكلة في عدم اتباع الخطوات التالية :- أختيار Customize - مخصص ، ثم قم بتفعيل الإختيار الذي عليه إشارة X
  15. أعتقد أن هذا يعتمد على مشاركاتك ومساهماتك في المنتدى ، فكلما زادت يزداد التقييم والتصنيف الخاص بعضويتك ، وبالتالي ميزاتك ستكون أكبر 😊 نتمنى للجميع أعلى المراتب في دينهم وعلمهم .
  16. برنامج "Access Runtime" هو نسخة من Microsoft Access تم تصميمها لتشغيل تطبيقات قواعد البيانات التي تم إنشاؤها باستخدام Microsoft Access بدون الحاجة إلى وجود نسخة كاملة من Microsoft Office على الكمبيوتر الذي يقوم بتشغيل التطبيق. فهو يمكّنك من تشغيل مشاريع Access دون الحاجة إلى تثبيت نسخة كاملة من Microsoft Office على جهاز الكمبيوتر . ويعتبر هذا خياراً مفيداً إذا كنت ترغب في توزيع تطبيق Access لمستخدمين لا يحتاجون إلى تحرير التصميم أو الإنشاء. ومع ذلك، يجب أن تكون النسخة من "Access Runtime" متوافقة مع إصدار الـ Access الذي تم إنشاء التطبيق به. بمعنى آخر، إذا كانت قاعدة البيانات الخاصة بك تم إنشاؤها باستخدام Access 2016، عليك استخدام Access Runtime 2016 أو إصدار أحدث لتشغيل التطبيق. وبالطبع يُذكر أن "Access Runtime" تُستخدم فقط لتشغيل التطبيقات ولا توفر إمكانيات التصميم أو التحرير
  17. وبارك بك أخي الكريم ،
  18. استبدل الكود في زر الحفظ بهذا الكود ، تم انشاء المتغير حسب طلبك . Private Sub ad_Click() On Error Resume Next If IsNull(Me.xc) Then MsgBox "الرجاء إدخال البيانات", vbCritical, "خطأ في الإدخال" Me.Undo Else Dim Date_P As Variant Date_P = dats.Value Dim Foksh As Variant Foksh = Date_P Me.da_d = Me.qqs Me.kk = 1 On Error Resume Next DoCmd.SetWarnings False DoCmd.RunCommand acCmdSaveRecord DoCmd.RefreshRecord DoCmd.OpenQuery "car_b", acViewNormal DoCmd.OpenQuery "car_c", acViewNormal DoCmd.OpenQuery "dell_subcar", acViewNormal DoCmd.OpenQuery "dman_rly", acViewNormal DoCmd.RunCommand acCmdSaveRecord MsgBox "تم حفظ السجل بنجاح", vbInformation, "نجاح العملية" Me.dats.Value = Format(DateAdd("d", 1, Date_P), "dd/mm/yyyy") DoCmd.Close DoCmd.OpenForm "enar_dman", acNormal Forms("enar_dman").Controls("dats").Value = Format(DateAdd("d", 1, Foksh), "dd/mm/yyyy") End If End Sub
  19. وعليكم السلام ورحمة الله وبركاته ، جرب هذا التعديل أخي الكريم . طبعاً تم اجراء بعض التعديلات والإستغناء عن استعلام التحديث وتحويله إلى SQL في زر الحفظ ASD.accdb
  20. جرب هذا المرفق يا صديقي 182.accdb
  21. تمام هيك 😅 ابشر ، بس خلني أخلص من الشغل
  22. العفو منك اخوي الغالي ، كل الاحترام لك يا صديقي
  23. نرجو الإهتمام بصحة الروابط الخارجية يجب طلب الإذن بالوصول
  24. بالنسبة لي عدة نقاط منها :- تجنب ارفاق المرفقات داخل قاعدة البيانات . تجنب المسميات للحقول والمكونات والعناصر باللغة العربية ( ودي الحاجة اللي انا شخصياً تأكدت منها عن تجربة شخصية وقعت فيها ) . تكرار الاكواد . إجبار قاعدة البيانات على العمل بما يسبب ضغطها ( كوظائف تتعلق بتغيير اعدادات نظام الويندوز ..... إلخ ) بفضل استخدام تقسيم قاعدة البيانات للجداول بحيث يكون تخزين البيانات منفصل عن النماذج والتقارير .... إلخ ، لتخفيف الضغط مستقبلاً عند تضخم حجم البيانات . نقاط كثيرة قد يذكرها أساتذتنا في المنتدى .. هذا من وجهة نظري
  25. 🤣 الصحيح أنا مش تفاجئت ، أنا صُعقت لإني ما فهمت 😂 يعني لو جعلت التاريخ يدوي في الجهاز مثلاً يكون 1/1/2024 ، وفتحت النموذج ستجد حقل التاريخ بالتاريخ نفسه ، ولو عملت إدخال البيانات وحفظ سيقوم بالحفظ وفتح سجل جديد بتاريخ اليوم التالي ،أي 2/1/2024 ؛ دون الحاجة للفتح والإغلاق 🧐 صح ولا أنا لسه مصدوم بجد ومش بنطق ولا عارف أرُد 😅
×
×
  • اضف...

Important Information