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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. للأسف لم أطلع لاني استخدم الجوال ، ولكني اضطررت لنسخ ملفات مكتبتي إلى الجوال ( سابقاً ) للإستفادة منها متى اضطررت ، ولكني على يقين أن المرفق الذي ارفقتي في مشاركتي الأخيرة لن يزيد عن فكرتك شيء 🤗
  2. على افتراض أن اسم المجلد هو Pdf_File ، جرب هذا الكود:- Sub PrintAllPDFsInFolder() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim strFolderPath As String strFolderPath = CurrentProject.Path & "\Pdf_File\" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolderPath) For Each objFile In objFolder.Files If Right(objFile.Name, 4) = ".pdf" Then ShellExecute 0, "Print", objFile.Path, 0, 0, SW_HIDE End If Next objFile Set objFSO = Nothing Set objFolder = Nothing Set objFile = Nothing End Sub في الزر الذي تريده ، في حدث عند النقر ، استدع الدالة بهذا الأمر :- PrintAllPDFsInFolder وأخبرنا بالنتيجة 😊
  3. مساهمة في هذا الحديث ، جرب هذا المرفق 😅 ، عله يكون العلاج . في النموذج في حدث عند التحميل انقل الكود الى نموذج البداية في مشروعك . واخبرنا بالنتيجة 😊 * ملاحظة:- الجدول المرتبط هو جدول من قاعدة بياناتي كمثال ، في مشروعك قم باستيراد الجداول من قاعدة بيانات الجداول لديك ، وتأكد من المكتبة التي تسمح للكود بفتح صندوق اختيار الملف ( مايكروسوفت اوفيس 14 أو حسب الإصدار في أوفيس لديك وأعتقد أن لديك اوفيس 2010 ) ReLink.accdb
  4. مداخلة جانبية مع معلمي الفاضل @ابوخليل . جرب هذا الكود Private Sub Form_AfterUpdate() Dim recordId As Long Dim allFieldsFilled As Boolean allFieldsFilled = True ' قم بفحص ملء كل الحقول Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then ' التأكد من أن الحقل هو حقل نصي If IsNull(ctl.Value) Then allFieldsFilled = False Exit For ' توقف الفحص عندما يتم العثور على حقل غير ممتلئ End If End If Next ctl ' إذا كانت جميع الحقول ممتلئة، قم بعرض رسالة بمحتوى الحقل Id If allFieldsFilled Then recordId = Me.ActiveControl.Value ' استخدم الحقل النشط حاليًا MsgBox "تم إنشاء السجل برقم: " & recordId End If End Sub واعلامنا بالنتيجة 😊
  5. ومشاركة مع معلمنا الجليل @ابوخليل جرب هذا الكود أيضاً لتحقيق الهدف. Dim fullName As String Dim firstName As String Dim lastName As String Dim nameParts() As String Dim i As Integer Dim j As Integer Dim middleName As String ' افتراضًا أن القيمة المطلوبة موجودة في حقل النموذج المسمى "FullName" fullName = Me.FullName.Value ' تقسيم الاسم الكامل إلى أجزاء باستخدام الفاصلة كفاصل nameParts = Split(fullName, " ") ' الاسم الأول هو الجزء الأول من الاسم الكامل firstName = nameParts(0) ' الاسم الأخير هو الجزء الأخير من الاسم الكامل lastName = nameParts(UBound(nameParts)) For i = 1 To UBound(nameParts) - 1 ' الاسم الوسيط يتكون من الأجزاء بين الاسم الأول والاسم الأخير middleName = "" For j = 1 To UBound(nameParts) - 1 If j = i Then Continue For End If middleName = middleName & " " & nameParts(j) Next j Debug.Print firstName & " " & Trim(middleName) & " " & lastName Next i جرب هذا الكود واخبرنا بالنتيجة 😊
  6. في حدث بعد التحديث لمربع النص Prog Private Sub prog_AfterUpdate() If Me.prog.Value Like "*plan*" Then Me.cast.Value = "complete" End If End Sub جرب الكود واخبرنا بالنتيجة 😊
  7. كان المقصد الحقول ، ولكن خطأ مطبعي من التصحيح التلقائي في الكيبورد 😅
  8. من التبويب أدوات قاعدة البيانات Database Tools اضغط على مدير الجداول المرتبطة Linked Table Manager ستظهر لك قائمة بالجداول المرتبطة. حدد جميع الجداول المرتبطة التي ترغب في إلغاء التقسيم لها. انقر على زر موافق لإلغاء تقسيم الجداول. أو اضغط زر الماوس اليمين على احد الجداول المرتبطة واختر Linked Table Manager وقم بتحديد جميع الجداول ثم موافق لإستعادتها من قاعدة بيانات الجداول.
  9. بناءً على ما تقدم به أستاذنا @أبوبسمله ، أعتقد ان الصارة النافعة التي تتحدث عنها هي بسبب فتح النموذج بشرط تصفية على سجل محدد . والثانية هذا أمر طبيعي كون النموذج لا يعرض البيانات التي اختفت في نموذج فرعي .
  10. جزاكم الله كل خير أستاذ @kkhalifa1960 مبدع ومتميز 🤗
  11. لا تعجب من عدم وجود ردود اخي الكريم ،، في فكرتك ارفق ملف لتتوضح الفكرة أكثر 🤗
  12. هل النموذج الرئيسي Maximize ؟
  13. لحذف السجلات الفارغة من الجداول :- قم بانشاء استعلام حذف واختر الجدول المستهدف ، ثم اختر الحقول ، وحدد الشرط Is Null في الحقول .
  14. يا سلاااام عليك وعلى مفرداتك معلمنا الكبير
  15. اخي الكريم الخطأ عندك في ازدواجية الوظيفة . لاحظ انك وضعت في حدث الزر حدث عند تحميل النموذج وهذا غير صحيح.
  16. في النموذج اجعل مصدر البيانات استعلام من داخل النموذج ( وليس استعلام خارجي ) ، وقم باختيار الجداول الذي تريدها ( اذا كانت اكثر من جدول ) ، ثم عند حقل رقم العامل اجعل الشرط مربع نص غير منضم في النموذج ليكون ناتجه عند ادخال رقم عامل عرض البيانات التي تريدها. وفي حدث بعد التحديث لهذا المربع Docmd.Requery هذه الفكرة تخيلية بدن كمبيوتر في الوقت الحالي 🤗
  17. جزاك الله خير أخوي @أبوبسمله ، الفكرة كانت اجتهاد للأسف ودون فتح الملف لأنه في ذاك الوقت ما كنت عند الكمبيوتر
  18. استكمال الشرط اسم الخامة يساوي أي حقل في النموذج DLookup("سعـــر البيع", "المخزن", "[اسم الخامة] = 'اسم الخامة المطلوبة'") طبعاً من تصوري لجملة الدالة DLookup
  19. ما لم يكن هناك نسخة احتياطية ، أعتقد من الصعب استرجاع جدول تم حذفه من قاعدة البيانات 😬
  20. مشاركه مع الاستاذ @Barna في حدث عند النقر للزر SelectScanner
  21. راجع هذا الرابط ، بعد تجربتي له يعطيك اختيار اسم السكانر ( حسب ما اذكر )
  22. بما أن الفكرة هكذا .. أيضاُ إذا كان التعليق أكثر من سطر ، فيمكن تجزئة سطر التعليق بحيث عند اي جزء اترك مسافة بين آخر حرف وضع إشارة _ ثم Enter ليصبح التعليق مقسماً إلى أسطر .. ' لإضافة تعليق يمكن تقسيمه الى عدة أسطر _ نستطيع فعل التالي ليكون بهذا الشكل _ وها أنا في منتدانا الغالي ما زلت أتعلم _ ولله الحمد.
  23. أختنا الكريمة @olah بعد تجربة الكود السابق في المشاركة السابقة توضح انه لا يعمل بشكل صحيح ضمن القيم الفريدة .. وهذا تعديلي الأخير . قاعدة بيانات_عدد السجلات2.accdb
×
×
  • اضف...

Important Information