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

نجوم المشاركات

  1. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      5

    • Posts

      8,723


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      5

    • Posts

      9,756


  3. sandanet

    sandanet

    الخبراء


    • نقاط

      3

    • Posts

      1,366


  4. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      11,720


Popular Content

Showing content with the highest reputation on 13 ينا, 2021 in all areas

  1. السلام عليكم 🙂 شكرا اخوي ابوعبدالله 🙂 وهاي دالة لإستخراج الرقم من وسط بيانات الحقل 🙂 مثلا ننقر مزدوجا على الرقم 12670 : والنتيجة تفتح لنا النموذج مسند على الرقم اعلاه : . ننادي الدالة هكذا ، بحيث نرسل بيانات الحقل ، والنقطة/المكان اللي تم النقر مزدوجا فيها : Private Sub EH_DblClick(Cancel As Integer) DoCmd.OpenForm "مسند", , , "[Mno]=" & Get_Number(Me.EH, Me.EH.SelStart) End Sub . وتقوم هذه الدالة بإرجاع الرقم فقط : Public Function Get_Number(fld As String, P As Long) As Long ' 'fld = Field content 'P = Position left mouse was double clicked in the field 'max_Length = maximun length of numeric field, default is 10 'C = the character to check 'Add_C = Adds the numeric Characters ' '1. check the characters to the Left <----| '2. check the characters to the Right |----> ' ' jjafferr ' v.1 : 21-01-13 ' Dim i As Integer Dim Add_C As String Dim C As String Dim max_Length As Integer max_Length = 10 'Get the numbers on the Left side of the click For i = P To (P - max_Length) Step -1 C = Mid(fld, i, 1) If IsNumeric(C) Then Add_C = C & Add_C Else Exit For End If Next i 'Debug.Print Add_C 'Get the numbers on the Right side of the click P = P + 1 For i = P To (P + max_Length) C = Mid(fld, i, 1) If IsNumeric(C) Then Add_C = Add_C & C Else Exit For End If Next i Get_Number = CLng(Add_C) End Function . ولكن ، لم اتمكن من تشغيل هذه الدالة على حقل النص المنسق !! جعفر 1326.إحالات.accdb.zip
    3 points
  2. وعليكم السلام-فقط يمكنك استخدام هذه المعادلة =IF([@[تاريخ الإنتهاء الفعلي]]="",[@[التاريخ المخطط للإنتهاء]]-[@[تاريخ إرسال المهمة]],[@[تاريخ الإنتهاء الفعلي]]-[@[تاريخ إرسال المهمة]]) المهام -2.xlsx
    2 points
  3. السلام عليكم ورحمة الله وبركاته ممكن تستخدم الدالة التالية =IF(OR(B2="المجموع",B2="المدور",B2=""),"",MAX($A$1:A1)+1)
    2 points
  4. اعرض الملف ملف قاعدة بيانات اكسس يحتوي على 3,919,015 سجل ، لتجربة سرعة برنامجك السلام عليكم 🙂 لعمل برنامجك ، فلا يكفي ان تجربه على بضع سجلات ، وانما يجب تجربته على اكبر قدر ممكن من السجلات ، وخصوصا اذا كان برنامجك سيعمل في شبكة 🙂 لذا ، انزل هذا الملف الى مكتبتك ، واعمل منه نسخة لكل تجربة تريد تعملها 🙂 لا اذكر من اين انزلت هذا الملف ، ولكنه من الملفات المفيدة جدا 🙂 قاعدة البيانات هذه ، تحتوي على بيانات وهمية ، وحجم الملف المضغوط حوالي 30 ميجابايت ، بينما عند فك الضغط يكون حجم الملف حوالي 219 ميجابايت ، يمكن انزال برنامج مجاني من هذا الرابط لكي تفك ضغط الملف (انا استعمله كأحد برامجي الاساسية 🙂 ) : https://www.7-zip.org/ جعفر هنا رابط لمقارنة سرعة الحلول ، باستعمال هذا الكم من البيانات : صاحب الملف jjafferr تمت الاضافه 08 ديس, 2020 الاقسام قسم الأكسيس
    1 point
  5. الآن اطلعت على عمل الاستاذ جعفر .. ما شاء الله برنامج متكامل اخذ كثيرا من جهده ووقته جزاه الله خيرا ولكني ايضا اعجب من مسايرته لك فالصفحات ليس لها معنى في اكسس ، فأنت اذا تحولت الى العمل على اكسس فليس للصفحات مكان فيه . ومشكلتك في عدم تمكنك من النسخ واللصق هو رقم الصفحة وانا متأكد ان الاستاذ جعفر قام بادخال ارقام الصفحات يدويا واحدة واحدة فبدلا من البحث عن الصفحات فأكسس يتيح لك البحث عن : التصفية من و الى التصفية حسب السنة او الشهر أو الأسبوع او اليوم التصفية حسب الاسم التصفية حسب المخزن التصفية والجمع حسب السالب والموجب والكل (( علما ان هذا نختصره بما يسمى الرصيد بمعنى ان هناك عمليتان وهي الوارد والمصروف والفرق بينهما هو الرصيد )) صحح لي ان اخطأت . فالآدخال في اكسس ارقام موجبة سواء كانت واردات او مصروفات _______________________________________________________ بالنسبة للتسميات فأمرها هين يسير يمكنك تغيير المسميات في رؤوس الاعمدة يدويا في التقارير والنماذج فقط .. الجداول لا فقط افتح النموذج على التصميم وغير مسميات العناوين فقط ومسميات الأزرار وكذلك في التقارير _______________ حتى اتمكن من مساعدتك بنقل بياناتك كاملة صحيحة الى اكسس لدي استفسار : ذكرت ان لديك في اكسل 30 صفحة السؤال : ما الفرق بين هذه الصفحات لماذا لم يتم اختصارها بصفحات اقل بمعنى مثلا ما الفرق بين صفحة 7 وصفحة 17 وهل لكل صفحة خصيصة تختلف عن الأخريات .
    1 point
  6. أولاً - الخطأ في هذه العبارة Range("A10:A12").Select لأنك أخفيت العامود A فكبف تريد ان تحدد خلايا منه؟؟؟؟ ثانباً - لا داعي لهذه الكمية من الأوامر Select التي لا حاجة لها ضع النطاق الدي تريده في المريع الأحمر فقط ونفذ الكود (الصورة) ولك الحيار في Protect و Unprotect
    1 point
  7. نعم اخي أبو عبدالله كلامك صحيح ... لكن لو لم تكن اللاحقة مضافة لجدول tblSpecialParts مسبقاً فسنواجه مشكلة خصوصا لو كان هنالك عدد من المستخدمين يعملون على البرنامج .. اعتقد انه من الافضل ايجاد طريقة تنبيه للمستخدمين تفيد بأن الاسم سيتم اقتطاعه لوجود لاحقة غير مضافة لجدول tblSpecialParts وبالتالي يمكن تلافي ادراج الاسماء منقوصة. نعم كلامك صحيح ونقطة في محلها فعلا خصوصا لو كان لدينا برنامج كبير لكني في الواقع افضل تقليص عدد الجداول ^_^ ولو ان كود الاستاذ جعفر كنز ثمين لايمكن تجاهله لكن بالتأكيد سنحتاجه عاجلا ام آجلاً. معناها لو قمنا بالغاء الاستعلام qry_SP فسنلغي دالة sp من الوحدة النمطية ايضاً فهي ليست مستخدمة الا في ذلك الاستعلام بالاضافة الى إلغاء جدول SomeNameTbl فهو متعلق بالاستعلام فقط ..وبالتالي سنتمكن من تقليص عدد الاكواد المستخدمة ^_^ تحياتي
    1 point
  8. جزاك الله خيراً وأحسن الله إليك ورزقك من حيث لا تحتسب
    1 point
  9. امكانيات قاعدة بيانات sql الكبيرة تغنيك عن هذا الجهد الجهيد في فصل بيانات كل سنة عن الأخري انظر هذه المقارنة بين اصدارات الاسكيوال سرفر المختلفة من موقع مايكروسوفت والسعة الرهيبة التي يمكن أن تتحملة الاصدارات الأحدث الميزات SQL Server 2017 Enterprise SQL Server 2017 Standard SQL Server 2017 Express SQL Server 2017 Developer التوسع الحد الأقصى لعدد المراكز غير محدود 24 مركزًا 4 مراكز غير محدود الذاكرة: الحد الأقصى لحجم الذاكرة المجمعة المؤقتة لكل مثيل أقصى سعة بنظام التشغيل 128 غيغابايت 1410 ميغابايت أقصى سعة بنظام التشغيل الذاكرة: الحد الأقصى لذاكرة التخزين المؤقت لشريحة الذاكرة الداخلية لكل مثيل أقصى سعة بنظام التشغيل 32 غيغابايت 352 ميغابايت أقصى سعة بنظام التشغيل الذاكرة: الحد الأقصى لبيانات الذاكرة المحسنة لكل قاعدة بيانات أقصى سعة بنظام التشغيل 32 غيغابايت 352 ميغابايت أقصى سعة بنظام التشغيل الحد الأقصى لحجم قاعدة البيانات 524 بيتابايت 524 بيتابايت 10 غيغابايت 524 بيتابايت حقوق الاستخدام الإنتاجي وهذا هو الرابط لاستكشاف المزيد https://www.microsoft.com/ar-sa/sql-server/sql-server-2017 علي حسب رأيتي القاصرة التعامل مع قاعدة واحدة تضم كل التسلسل التاريخي للبيانات سيكون أسهل في التعامل من الناحيتين البرمجية والاستخدام - فبدل من عمل ربط بالقاعدة القديمة لاستدعاء البيانات بالسنوات السابقة وعمل نسخة احتياطية لكل سنة وتفريغ البيانات من القاعدة القديمة و.... لماذا كل هذا الجهد !!!!!!!!! في حين أن بياناتي جميعها قديمها وحديثها بمكان واحد اغدو بها وأروح كيفما أشاء واستعرض منها ما أريد (وأكثر تأمينا للبيانات التي ستكون عرضة للفقد او التلاعب!) هذا والله أعلم
    1 point
  10. السلام عليكم ورحمة الله وبركاته تفضل اخوي العزيز .. امكانية حذف البيانات الموجودة في DataEntry .. في الخلية W الى AK .. الا اذا انته تستخدمها في مكان اخر .. تم تغيير اسم الصفحة الى Report .. تم اضافة عدد الطلاب من ضمن الجدول الاساسي في العامود R .. All Subjects2 .xlsb
    1 point
  11. السلام عليكم ابو حسان اقدر فيك الهمة العالية وحب التعلم ، ولا تنسى بيني وبينك قاسم مشترك اللي هو العمر بكذا نكون اقرب للصحبة وبما ان لديك خبرة في اكسل فسيسهل عليك تعلم اكسس .. هي فقط الدرجات او اللي نسميها الأساسات الأولى . انا افضل هذه الطريقة لانك ستعملها مرة واحدة فقط .. ولكن بعد ان تلم بالحد الأدنى في تعلم اكسس عملية الاستيراد المستمرة من اكسل هذه تستخدم في البرامج التي تتجدد فيها البيانات كل فصل او سنة ويتم جلبها من برامج اخرى حكومية ونحوها . كتبت هذه الكلمات لك لمؤانستك والتخفيف عنك من طول الانتظار .. وان اردت التعلم من البداية فيمكن ان نفتح موضعا جديدا لمشروعك يكون كدورة تدريبية تتعلم منها ويستفيد منها الآخرون .
    1 point
  12. ارفع صورة الخطأ او جرب الماكرو هكذا Sub Test1() Application.ScreenUpdating = False ActiveSheet.Unprotect Columns("A:E").Select Selection.EntireColumn.Hidden = False Columns("AD:AF").Select Selection.EntireColumn.Hidden = True Columns("P:AB").Select Selection.EntireColumn.Hidden = False Columns("AJ:AR").Select Selection.EntireColumn.Hidden = True Range("A10:A12").Select Application.ScreenUpdating = True ActiveSheet.Protect end sub
    1 point
  13. استاذ ان شاء الله تبدأ ادخال اكواد الترحيل بنفسك نبدأ بزر ترحيل شهادة تربص ما رأيك؟ لنفترض ليك شيت "شهادة تربص" الخلية D15 هي رقم التسجيل و في الفورم textbox1 iهو رقم التسجيل ونقول في حدث الزر 'شهادة تربص" Private Sub CommandButton4_Click() With Sheets("شهادة تربص") .Range("d15").Value = TextBox1.Value ' رقم التسجيل .Range("b16").Value = TextBox2.Value 'الاسم .Range("d16").Value = TextBox3.Value 'اللقب End With End Sub ونتمم ربط باقي الخلايا ب textbox المناسب
    1 point
  14. السلام عليكم لماذا تريد شيء كهذا ؟ المبرمجون يعملون ويريدون ان يسهل للمستخدمين العمل علی الجهاز لكن حضرتك راح تصعب عليهم ، ممكن تخبرنا عن سببه ؟
    1 point
  15. أشكرك جزيل الشكر على المرفق السابق لكني واجهت مشكلة اخرى عندما حاولت اضافة الاسم التالي "عبد الرحيم بن سلمان عبد الله بو سالم" فظهر في الخانة الاخيرة كلمة "بو" فقط .. المفروض تظهر كلمة "بو سالم" كلها كما ان لدي بعض التساؤلات التي استوقفتني السؤال الاول : ماهو الفرق بين استخدام طريقتكم التي تفضلتم بها و طريقة الاستاذ اباجودي التي تفضل بها في مرفقه ؟ هل يمكن اعتبار ان الفكرتين تؤديان الى نفس النتيجة أم هنالك فرق جوهري بالأمر؟ ارجو التوضيح فهذه نقطة مهمة جدا فكلا المرفقين فيهما حلول رائعة السؤال الثاني: لماذا تستخدم دالة MakeMsg التي تستوجب اضافة جدول ووحدة نمطية للبرنامج في حين اننا نبحث عن طريقة لتقليص الاكواد قد المستطاع؟ بالرغم من انها تحتوي على لمسات استاذنا الكبير جعفر لكننا هنا بصدد تبسيط الاكواد قدر المستطاع السؤال الثالث: ما فائدة الاستعلام "qry_SP" ؟ وهل بالامكان استبداله بكود برمجي؟ ارجو ان يتسع صدرك لاستفساراتي تحياتي
    1 point
  16. وعليكم السلام تفضل mystore (1).rar
    1 point
  17. تفضل اخي ترقيم تلقائي بشرط بالمعادلات.xlsx
    1 point
  18. وعليكم السلام ورحمة الله وبركاته كلام حضرتك صحيح 100% واعتمدت بالبداية علي الرقم القومي ولكن طلب العميل تغير هذا اعتمادا علي الاسم فقط لصعوبة الحصول علي الرقم القومي في أحيان كثيرة فاضررت لاجبار المستخدم علي ادخال الاسم بشكل رباعي لتقليل عملية التشابه فأحيانا كان الاسم يتشابه حتي الاسم الثالث ولا يحدث اختلاط بين بيانات العملاء المتشابهة اسمائهم ربما كان الاسم يتشابه رباعيا أيضا ولكن هذا نادرا ما يحدث والله أعلم وأشكر مرور حضرتك وأدعوك للمشاركة في اكتشاف الأخطاء بالمرفق الأخير لو تكرمت وجزاكم الله خيرا
    1 point
  19. السلام عليكم الموضوع صعب جدآ في التنفيذ .. لان صعب تتوقع اسم كيف سيكون حتي علي مستوي الدولة مثلا مصر يحدث تشابه لذلك دائما يعدون لاسم الام للتفرقه بين الاسمين وطبعاً الرقم القومي لاغي عملية التكرار تماماً انا بالنسبة لي عند تصميم اي برنامج لا اعتمد علي منع التكرار بالاسم بل ابحث عن شئ فريد ضمن البيانات لا يتكرر وابني عليه منع التكرار تحياتي 🌹
    1 point
  20. وعليكم السلام-يمكنك استخدام هذه المعادلة لطلبك =IFERROR(VLOOKUP($A2,$K$2:$L$60,2,0),"") numbers1.xlsx
    1 point
  21. أخي العزيز أبو عبدالله شكراً لك على المرفق الأخير الأكثر من رائع والشكر لكل من ساهم به ولو بفكرة بسيطة اثناء عمل compile للكود يظهر خطأ في الدالة التالية x = Split(testSpcailPart(M), " ") اعتقد ان الكود يجب ان يكون بهذا الشكل x = Split(testSpcailPart(M, 4), " ") كما اني لاحظت ان الاسم الرباعي لو كان مركبا مثل هذا "جاب الله نور الدين عصام الدين بن مسعود" لا يتم قبوله إلا إذا قمنا بتقليص الاسم يعني استبدال اسمين مركبين باسمين غير مركبين فما هو سبب حدوث ذلك؟
    1 point
  22. استخدم الفاصلة بدلا عن As جعفر
    1 point
  23. السلام عليكم ورحمة الله وبركاته .. هذا هو المطلوب 100 % والله ثم والله يا سيد @سليم حاصبيا ما اقدر اعبر عن شكري لك واسأل الله ان يزيدك علم وبصيرة وينور حياتك وبدون ماتعرف المدام 😁😁( الله يزوجك ) الى هنا يعتبر هذا اكبر انجاز حقيقه .. واذا مابتمانع ياغالي اولا لما اسوي تصفية في صفحة Tarhil للصف 1 واكبس ترحيل يحذف التصفيه ممكن تعديل تبقى التصفية مكانها ... انا سويت الطلب سابقا.. ثانيا اذا ظهر تعديل جديد مابتمانع .. ممنون لك والله الف الف شكر 🙏
    1 point
  24. السلام عليكم ورحمة الله وبركاته اتفضل اخوي العزيز .. تم وضع زرين في صفحة SAP .. لاخفاء الصفوف في الورقة يومي .. ومركز يومي .. تم تغيير اسم الورقة يفضل تغيير اسماء الورقة من اللغة العربية الى اللغة الانجليزية .. Sub test1() Worksheets("dayly").Rows("6:16").EntireRow.Hidden = False Worksheets("Sday").Rows("6:16").EntireRow.Hidden = False End Sub Sub test2() Worksheets("dayly").Rows("6:16").EntireRow.Hidden = True Worksheets("Sday").Rows("6:16").EntireRow.Hidden = True End Sub سندات الانتاج.xls
    1 point
  25. عندي عادة في الأكواد لا استعمل اللغة العربية لذلك استبدل المربع الأحمر بالمربع الأزرق (الصورة) الملف مرفق happy_New.xlsm
    1 point
  26. يبدو ان الطريقة سهلة لتصدير ملف الوورد على هيئة ملف بي دي اف متناسب مع شاشة الجوال وجدتها هنا
    1 point
  27. أنزلت المثال الأخير في مشاركة الحلواني ورأيت فكرة الجدول وطريقة الربط جميلة مع ملاحظة أن التعامل مع الجداول ستسبب بطء في المعالجة ومع ذلك هي الأضمن وخوصوصا عند الحاجة لإضافة سجلات أخرى. مثلا ستحتاجون إلى إضافة "آل ال" لأسماء مثل آل الطيب وأكيد ستظهر الكثير من الأسماء وعليه للبرامج غير المفتوحة يجب إتاحة الفرصة للمستخدم للإضافة.
    1 point
  28. نوعية الأسماء تختلف من بلد إلى بلد ، لدرجة صعوية حصرها ، نعم لو كان المطلوب للسعودية فالعملية ستسهل لأن هناك تشديد في التسمية ومنع الأسماء المركبة وأمور أخرى. أرى من اقترح بعمل أربع خانات ثم تجميعها أفضل ولا مانع من حفظ الإسم بأربع حقول الأول الثاني الثالث الأخير. فيه طريقة استخدمها أنا أحيانا لجمع عدة قيم ولتفكيكها أيضا بالشكل التالي: أحمد|محمد|عبدالله|الشاكر وسنعرف بالضم أو التفكيك إذا أحدها ناقص أو ترتيبها: فلو اسم الجد غير متوفر سيكون النص كالتالي: أحمد|محمد||الشاكر وهكذا.
    1 point
  29. السلام عليكم محاولة عسى ان تحقق طلبك تحياتي تصفية.xlsm
    1 point
  30. جرب هذا الملف حضور وغياب -SALIM.xlsx
    1 point
  31. السلام عليكم ورحمة الله هذا كود للمحترم الاستاذ خالد الرشيدي .. وهو اكثر من رائع وقد حاولت اكثر من مره اضافته للملف المرفق ... ولكن شاء الله ان استعين به اول ثم بكم لكي يتوافق مع الملف المطلوب ان يتم ضبط الكود ليتوافق مع الملف جزاكم الله خيرا Sub كشوف_اللجان() '***************************************** '***************************************** Dim Legan As Worksheet, Main As Worksheet Dim Arr As Variant, Arr1 As Variant, Temp As Variant Dim LR As Long, i As Long, j As Long, p As Long Set Legan = Sheets("كشوف اللجان") Set Main = Sheets("بيانات الطلبة") '***************************************** LR = Main.Cells(Rows.Count, 2).End(xlUp).Row Application.ScreenUpdating = False Sheets("كشوف اللجان").Unprotect Password:="1" Legan.Range("C9:F39").ClearContents Legan.Range("J9:M39").ClearContents Arr = Main.Range("A9:W" & LR).Value Arr1 = Array(5, 15, 16) ReDim Temp(1 To UBound(Arr, 1) + 1, 0 To UBound(Arr1) + 1) For i = 1 To UBound(Arr) '========== If Arr(i, 11) = Legan.Range("D4").Value Then '***************************************** p = p + 1 For j = 0 To UBound(Arr1) Temp(p, j) = Arr(i, Arr1(j)) Next j End If Next i Sheets("كشوف اللجان").Unprotect Password:="1", DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowSorting:=True, AllowFiltering:=True ActiveSheet.EnableSelection = xlNoRestrictions Application.Visible = True Application.ScreenUpdating = True End Sub ========================== اللجان بطريقه استاذ خالد الرشيدي.rar
    1 point
  32. كيف تمنع اكسل من تغيير خلية معينة هسى ان ينال الاعجاب هروب من التحديد.rar
    1 point
  33. أرجوا أن ينال رضا الجميع وكل عام وأنتم بخير تقبلوا خالص تحياتى Excel Formulas.rar
    1 point
  34. لله الفضل والمنه أشكرك أيا خليل على ثناءك ومرورك .. وأرجو أن يقع ثناءك في محلة.
    1 point
  35. احسنت بارك الله فيك ليتنا نقتدي بمثل هذا الطرح مثلك من ينطبق عليه : قم للمعلم وفه التبجيلا ..
    1 point
  36. ليس الأمر صعبا إذا تم الدخول عليه من بابه! إعادة ربط الجداول المرتبطة له مكون يخصه في قاعدة البيانات. هذا المكون له خصائص يمكن أعادة تخصيصها من قبل مطور قواعد البيانات.. إليك الطريقة.. .. المكون هو [TableDef] يعيد هذا المكون مصفوفة بجداول البيانات المرتبطة وغير المرتبة بما فيها جداول النظام. .. هذه الجداول لها عدة خصائص منها خصيصة أتصال الجدول بقاعدة البيانات؛ إذا كان الجدول مضمناً في قاعدة البيانات فإن هذه القيمة تكون خاليه، أما إذا كان مرتبطا فإنها تعود بقيمة نصية تمثل نوع الجدول واسمه ومساره. هذه القيمة يمكن إعادة تخصيصها. .. إذا قلنا أن [TableDef] يعيد مصفوفة بالجداول فنحن إذا بحاجة دوارة غرضية تعيد جميع الجداول لفحصها هل هي مرتبطة أم لا؟ .. إذا كانت مرتبطة.. هل الرابط سليم أم معطوب؟ .. إذا كان معطوبا.. هل يمكن إصلاحه تلقائيا أم يحتاج إلى تدخل من قبل المستخدم؟ __ إشكالية!! هل مصدر البيانات واحد أو متعدد؟ وهل هو من نوع واحد أو متعدد؟ __ للمعلومية يقوم أكسس بتخزين خصائص هذا المكون، والمكونات الأخرى في جدول من جداول النظام يسمى [MSysObjects] وهذا يعني أن القيم التي يُعاد تخصيصها تبقى ثابته. __ لطيفة إذا كان مصدر البيانات موحدا فيمكن فحص قيمة الاتصال باستخدام الوظيقة [DLookup] لإعادة أول سجل يحمل اسم ومسار قاعدة البيانات للجداول المرتبطة؛ ومن ثم نمرر الناتج على التابع [Dir] هذا التابع يعيد اسم الملف إذا المسار إليه صحيحا ويعيد قيمة خالية إذا كان معطوبا! __ التطبيق .. أليك طرف الخيط Sub LINK_TABLE(Optional LINK_DIR As String) Dim dbs As DAO.Database Dim tdf As DAO.TableDef Set dbs = CurrentDb() If Not Len(LINK_DIR) Then LINK_DIR = XDEF_PATH End If '-- Loop through TableDefs collection, only processing _ '-- the table if it already has a Connection property. _ '-- (all other tables are local ... not linked) For Each tdf In dbs.TableDefs If tdf.Connect <> "" Then LD = Mid(tdf.Connect, InStr(tdf.Connect, "\DATA")) tdf.Connect = ";DATABASE=" & LINK_DIR & LD tdf.RefreshLink End If Next End Sub
    1 point
×
×
  • اضف...

Important Information