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

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

  1. محمد طاهر عرفه

    محمد طاهر عرفه

    إدارة الموقع


    • نقاط

      6

    • Posts

      8,707


  2. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      5

    • Posts

      1,347


  3. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      3

    • Posts

      11,630


  4. أبو هادي

    أبو هادي

    المشرفين السابقين


    • نقاط

      3

    • Posts

      1,092


Popular Content

Showing content with the highest reputation on 26 مار, 2021 in all areas

  1. في جدول حركة الاصول الثابتة مصمم البرنامج استخدم لحقلي مدين ودائن نوع الحقل رقم كبير وهذا النوع من الحقول يعمل مع الاصدارات الاخيرة من 2016 فاحدث جرب الان بعد تغيير نوع الحقول برنامج اعداد الحسابات والقوائم والتقارير المالية.rar
    5 points
  2. اتفضل ابو اشرف ان شاء الله يكون ما تريد وتعديل عالكود Private Sub أمر36_Click() f = Me.salary_نموذج_فرعي!amount If f > Me.salary Then DoCmd.RunCommand acCmdDeleteRecord End If End Sub بالتوفيق delete2.accdb
    2 points
  3. السلام عليكم ورحمة الله وبركاته تحية طيبة لأساتذتي واخوتي الأفاضل من خلال بحثي عن طريقة ما لاستخراج النماذج والتقارير من ملف mde وجدت هذا البرنامج وهو مفتوح المصدر واعتقد انه يحتاج الى بعض التعديلات لكي يعمل بالشكل الصحيح... ارفقه لكم للتجربة ارجو ممن لديه طريقة او برنامج آخر لاستخراج النماذج والتقارير من ملف mde ان لايبخل علينا به تحياتي mdex.zip
    1 point
  4. ببساطة يمكنك استخدام هذا الكود لطلبك Sub format() For Each WS In Worksheets With WS i = .Range("a" & Rows.Count).End(3).Row Sheets("السويد").Range("A1:xfd12").Copy .Range("A" & i) End With Next WS End Sub test1.xlsm
    1 point
  5. بالتأكيد الطرق المذكورة فى فيديو الأستاذ سليم ممتازة وأدت الغرض وشوف بنفسك , الملف بعد التعديل بإحدى الطرق Dispatch Tool.xlsb
    1 point
  6. كان المفروض اقول : . المهم في هذه الخطوة هي فهمك للبرنامج ، و رؤيتك له كبرنامج واحد يحتوي على بيانات جميع المواقع ، وانك تستطيع تمييز بيانات كل موقع في كل جدول ، . 1. نعم قد تحتاج لهذا ، ولكن كل هذا يعتمد على بيانات كل جدول (رجاء قرءة ملاحظتي اعلاه) ، 2. اذا كان نوع حقل تسلسل البيانات "تسلسل تلقائي" ، فيجب عليك ان تعمل حقل جديد من نوع رقم ، ثم تنقل بيانات الحقل السابق الى الحقل الجديد ، واذا كان الحقل القديم "لا يقبل التكرار" فيجب تغييره ليقبل التكرار ، وهكذا ، 3. هناك عدة طرق ، ولكن خلينا بعيد عن التقنية ، فالامر يحتاج الى تدقيق مع كوب قهوة ، لذا : ضبّط جدول واحد في قاعدة بيانات واحدة ، القاعدة رقم 1 ، ثم اعمل ربط لقاعدة البيانات رقم 2 ، واعمل ربط لهذا الجدول من قاعدة البيانات رقم 2 ، وسيعطي اكسس الجدول المربوط ، نفس اسم الجدول القديم متبوعا بالرقم 1 (مثلا tbl_Names1) ، فيكون عندك في قاعدة البيانات رقم 1 ، الجدول المُعدل ، وربط بجدول من قاعدة البيانات 2 ، اعمل استعلام إلحاق ، لتلحق بيانات جدول قاعدة البيانات 2 ، في قاعدة البيانات 1 . السبب في استعمال هذه الطريقة ، لأنك معتاد على هذا النوع من الربط والاستعلام 🙂 جعفر
    1 point
  7. شاهد هذا الفيديو (هناك 7 طرق) https://www.youtube.com/watch?v=MhnaR823Zgo&ab_channel=GameTrick
    1 point
  8. للمرة المائة بعد الالف استقلالية الجدول و عدم ادراج خلايا مدمجة في داخله تم ادراج صفين فارغين تماماً( 7 و 8 ) و تم اخفائهما لعدم الكتاية فيهما عن طريق الخطأ مما يؤثر سلباً على الكود الكود Option Explicit Sub Myfilter() Dim sh As Worksheet Dim Ar_Sh(), AR_comp(), I% Dim RG_Filter As Range, Ro%, K% With Application .ScreenUpdating = False .Calculation = xlCalculationManual End With Set sh = Sheets("2021-3") Set RG_Filter = sh.Range("B8").CurrentRegion If sh.AutoFilterMode Then RG_Filter.AutoFilter Ro = RG_Filter.Rows.Count AR_comp = Array("شركة", "بنك مصر", "معاش") Ar_Sh = Array("Company", "Salery", "Bank") For I = LBound(Ar_Sh) To UBound(Ar_Sh) Sheets(Ar_Sh(I)).Range("A10:R1000").Clear RG_Filter.AutoFilter 4, AR_comp(I) RG_Filter.Cells(2, 1).Resize(Ro - 1, 18) _ .SpecialCells(12).Copy With Sheets(Ar_Sh(I)).Range("A10") .PasteSpecial (8) .PasteSpecial (12) K = .CurrentRegion.Rows.Count .Offset(K) = "Sum" .Offset(K, 6).Resize(, 12).Formula = _ "=SUM(G10:G" & K + 9 & ")" .Offset(K, 6).Resize(, 12).Value = _ .Offset(K, 6).Resize(, 12).Value .Offset(K).Resize(, 18).Interior.ColorIndex = 35 With .Resize(K + 1, 18) .Borders.LineStyle = 1 .Font.Size = 14 .InsertIndent 1 End With .Offset(K).Resize(, 6).HorizontalAlignment = 7 End With Next If sh.AutoFilterMode Then RG_Filter.AutoFilter With Application .ScreenUpdating = True .Calculation = xlCalculationAutomatic .CutCopyMode = False End With sh.Activate Range("g9").Select End Sub الملف مرفق Nafal.xlsm
    1 point
  9. استاذنا / @kha9009lid انت استاذ ومعلم كبير ، الله يصلح حالك ويجزاك كل خير
    1 point
  10. وهو المطلوب شكرا لك اخي husamwahab
    1 point
  11. 1 point
  12. السلام عليكم لقد قمت بتجهيز مثال لصندوق رسائل عربي وبدأت العمل به ليكون أول مشاركة لي في منتدانا القادم ولكن .. بعد البحث وجدت كود لتعريب أزرار صندوق الرسائل الأصل وحاولت جاهدا للإستفادة منه ولكن باءت كل محاولاتي بالفشل . عليه إذا تمكن أحدكم من التعديل عليه أو تشغيله بدون مشاكل سوف أقوم بالإستفادة منه بعد تكييفه ليصبح عربي 100% ، وإذا لم يمكن ذلك سوف أقوم بتكملة ما ابتدأت به وهو تصميمه من البداية . آمل منكم الآتي : 1 - المحاولة مع الكود فقد ينجح ويكفينا تعب التصميم من البداية . 2 - في حالة عدم الإستفادة من الكود أن تتفضلوا علينا باقتراحاتكم لتصميم صندوق عربي جديد . Option Compare Database Option Explicit Private m_hHook As Long Private Const IDOK = 1 Private Const IDCANCEL = 2 Private Const IDABORT = 3 Private Const IDRETRY = 4 Private Const IDIGNORE = 5 Private Const IDYES = 6 Private Const IDNO = 7 Private Const WH_CBT = 5 Private Const GWL_HINSTANCE = (-6) Private Const HCBT_ACTIVATE = 5 Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _ ByVal lpString As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Public Sub MessageBoxH(hwndThreadOwner As Long) Dim hInstance As Long Dim hThreadId As Long hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE) hThreadId = GetCurrentThreadId() m_hHook = SetWindowsHookEx(WH_CBT, AddressOf MsgBoxHookProc, hInstance, hThreadId) End Sub Private Function MsgBoxHookProc(ByVal uMsg As Long, ByVal wParam As Long, _ ByVal lParam As Long) As Long If uMsg = HCBT_ACTIVATE Then SetDlgItemText wParam, IDOK, "موافق" SetDlgItemText wParam, IDCANCEL, "إلغاء الأمر" SetDlgItemText wParam, IDABORT, "إحباط" SetDlgItemText wParam, IDRETRY, "إعادة المحاولة" SetDlgItemText wParam, IDIGNORE, "تجاهل" SetDlgItemText wParam, IDYES, "نعم" SetDlgItemText wParam, IDNO, "لا" UnhookWindowsHookEx m_hHook End If MsgBoxHookProc = False End Function ولتنفيذ الكود ضع هذا الكود في حدث عند النقر لزر button : 'هذه الإجراء مسؤول عن تعريب الأزرار MessageBoxH Me.hwnd 'بعدها مباشرة استدعاء الدالة بالطريقة المعروفة MsgBox "لقد أصبحت عناوين الأزرار باللغة العربية" & vbCrLf & "مع تحيات عامر جوز" _ , vbInformation + vbMsgBoxRtlReading + vbMsgBoxRight, "الفريق العربي للبرمجة" 'باقي الأزرار MessageBoxH Me.hwnd MsgBox "باقي الأزرار", vbYesNoCancel + vbMsgBoxRtlReading + vbMsgBoxRight MessageBoxH Me.hwnd MsgBox "باقي الأزرار", vbAbortRetryIgnore + vbMsgBoxRtlReading + vbMsgBoxRight تحياتي .
    1 point
  13. وعليكم السلام بالتأكيد لا يمكن قبول هذا فلا يمكن عمل الماكرو على الأندرويد أو التليفون عامة .. وشكراً
    1 point
  14. هذا الملف يقوم بادراج كل الفصول في القائمة المنسدلة اوتوماتيكياً (بدون تكرار) Ragheb.xlsm
    1 point
  15. السلام عليكم ورحمة الله وبركاته يااخوان اولا اشكر الاخ الكريم /محمد طاهر على افتتاح هذا المنتدي الرائع واسال الله له التوفيق والنجاح ثانيا كيف اسوي مفتاحين اساسيين في جدول وجزاكم الله خير
    1 point
  16. كثيراً ما نقول تجنباً لعدم اهدار وإضاعة الوقت فلابد من رفع نموذج من الملف الأصلي الذى تعمل عليه فممنوع رفع ملف ثم بعد ذلك يظهر ملف أخر لطلبك !!!! لأ طبعاً لا تتأثر ... أما بالنسبة لتصدير الملف كـــ pdf ... فمن فضلك عليك بإستخدام خاصية البحث بالمنتدى فقد تكرر هذا الموضوع كثير جداً
    1 point
  17. وعليكم السلام -أهلاً بك فى منتدانا , يمكنك استخدام هذه المعادلة لتلبية طلبك =SUMPRODUCT(SUMIF(INDIRECT("'"&$B9&"'!"&"C9:C19"),C$7,INDIRECT("'"&$B9&"'!"&"D9:D19"))) Boo2.xlsx
    1 point
  18. السلام عليكم هناك طريقه غادرناه مع النسخه 2003 تسمى النسخ المتماثل فاذا انت تستخدم النسخه 2003 تنفع معاك وسوف اجد لك شرحها ان شاء الله (شرح طيبة الذكر --- زهره العبدالله ----ام عهود) لان نستخدم نسخة 2013 بالتوفيق السلام عليكم للامانه العلميه هذا الشرح لطيبة الذكر الاستاذه زهره العبدالله ام عهود جزاها الله عنا خير ما هي الفائدة من اجراء عمل النسخ المتماثل لقواعد البيانات ؟ الفائدة او الغرض من ذلك انه لو كان لديك عدة مستخدمين يعملون على عدة اجهزة سواء على الشبكه المحلية او في مناطق متفرقه مثلا فروع منتشره في ارجاء الدوله ولا تستطيع الوصول لهذه الفروع فكل ما عليك هو عمل نسخة " تصميم رئيسي " ومن ثم عمل نسخ متماثله حتى لو كانت مليون نسخة متماثله فلا يوجد مشكله في ذلك وتوزيعها على كافة الفروع المنتشره سواء بالبريد او بأي وسيله المهم ان تصل للفروع او الاشخاص العاملين . بعد فترة من الزمن سواء كانت يومية او اسبوعية او شهريه يتم استعلام ( نسخه من ) النسخ المتماثله من جميع الفروع وسواء ارسلوها بالبريد او بأي طريقه المهم ان تصل الى الفرع الرئيسي الذي به القاعدة الأساسية " التصميم الرئيسي " وهنا يتم استخلاص البيانات من النسخ المتماثله واحدة بعد الاخرى وذلك عن طريق مزامنتها مع النسخه الرئيسية " التصميم الرئيسي " وبهذا يتم تحديث القاعدة الرئيسية بأحدث البيانات بشكل دوري . كيف نقوم بإنشاء النسخ المتماثل ؟ 1. نقوم بإنشاء مجلد جديد على محرك الأقراص C وليكن مثلا اسمه MyDataBase ونضع به قاعدة البيانات الخاصة بنا وليكن اسمها مثلا zaDataBase 2. نقوم بفتح قاعد البيانات المطلوبه ثم نتأكد من عدم وجود اخطاء بها وخاصة في الأكواد . 3. نستخدم خيار الضغط والإصلاح لقواعد البيانات ( قوائم الأكسيس - ادوات - ادوات مساعدة لقواعد البيانات - ضغط واصلاح ) 4. اذا كانت قاعدة البيانات عليها رقم سري يتم ازالته . 5. نقوم بفتح قاعدة البيانات المطلوبه ثم نذهب الى قوائم الاكسيس ونختار ادوات ثم نسخة متماثلة ثم انشاء نسخة متماثلة ستظهر لنا رسالة تنبيه انه يجب اغلاق القاعدة الحالية لأنه سيتم تحويلها الى نسخة " تصميم رئيسي " نضغط على نعم سيتم البدء بالمعالجة واثناء ذلك ستظهر لك رسالة تفيدك ان قاعدة بيانتك ستتحول الى نسخة " تصميم رئيسي " وهذا الأختيار مهم جدا وسيقوم المعالج بتحويل قاعدة بياناتك الى نسخة احتياطية تنتهي بالإمتداد bak - ( للرجوع لها فيما لو احتجتها وذلك عن طريق تحويل الإمتداد فقط من bak الى mdb ولكن تضعها في مجلد مختلف ) - وفي الرسالة يظهر لك موقع القاعدة التي سيتم تحويلها الى نسخة احتياطية فكل ما عليك هو الضغط على زر نعم ستظهر لك نافذة تخبرك بموقع النسخة المثماثلة ولكن قبل الضغط على موافق عليك التأكد من موقع النسخة انها على نفس المسار السابق وايضا نقوم بإختيار علامة الصح في خانة الاختيار ( منع الحذف ) - هذه الميزه مفيدة جدا حتى لا يقوم المستخدمين بحذف الكائنات من النسخة المتماثلة سواء كانت مربعات النص او التعديل او التبديل في واجهة البرنامج وكل ما عليهم هو الاضافة او التعديل او حذف البيانات فقط وعند عملية تزامن النسخة المتماثلة مع التصميم الرئيسي فإنه فقط يتم جلب البيانات الجديده من جداول النسخة المثماثله الى التصميم الرئيسي ( فقط النسخة الرئيسية " التصميم الرئيسي هو الذي يمكن التعديل فيه ونشره الى باقي النسخ المتماثله ). بالنسبة للحفظ بنوع فسيكون عام حتى يمكن الإضافة والتعديل ولكن ليس الحذف اما بخصوص الأولوية فيتم تحديدها على افتراضي ( وهي موضوعة اصلا على ذلك ) نقوم الآن بالضغط على موافق وستظهر لنا رسالة اخيره تخبرنا ان برنامج الأكسيس قام بعمل نسخ متماثل لهذه القاعدة على نفس المسار في المجلد ويمكن لنسخة التصميم الرئيسي فقط قبول التغييرات التي حدثت في النسخ المتماثلة نقوم الان بالضغط على موافق لإنهاء المعالج بعد ان ينتهي المعالج من عمل النسخة المتماثله فنقوم بفتحها وسنجدها شبيهة تماما بنسخة التصميم الرئيسي ما عدى بعض الاختلافات من حيث رموز الكائنات لاحظ كيف يكون الاختلاف عن قاعدة البيانات العادية فقد تم اضافة ما يشبه الدائرة الصفراء وبها سهمين ( احمر و ازرق ) متعاكسين وهذا ينطبق على كل كائنات النسخ المتماثلة . نريد الان ان نقوم بتعديل تصميم قاعدة النسخة المتماثلة لهذا نعرض النموذج او التقرير او الجدول او الاستعلام او اي كائن في وضع التصميم لكي نقوم بحذف او تعديل او اضافة اي شيء عليها في هذه الحالة ستظهر لنا رسالة وتخبرنا انه لا يمكن اجراء اي تعديل او حذف على هذه الكائنات وانما هي للقراءة فقط وهذا يعتبر نوعا من انواع الحماية للقاعدة . نستطيع الان انشاء عدد لا متناهي من النسخ المتماثلة واعطاء كل نسخة رقم معين من خلال اختيار نسخة " التصميم الرئيسي " ومن ثم توزيعها على الأجهزة . بعد توزيع النسخ المتماثله على الاجهزه طبعا سيتم فتحها والبدء بإضافة البيانات فيها وبعد الانتهاء من اضافة البيانات سيتم نسخ النسخ المتماثلة من الاجهزة كل حسب رقمها المعطى لها ثم وضعها في نفس مجلد نسخة " التصميم الرئيسي " الان نقوم بفتح نسخة " التصميم الرئيسي " ومن ثم التوجه الى ادوات ثم نسخة متماثله ثم التزامن الآن لجلب البيانات الجديده الى نسخة " التصميم الرئيسي " نتابع ستظهر لنا رسالة بضرورة اغلاق كافة الكائنات المزامنه فنختار " نعم " سيقوم المعالج فورا بإختيار اول نسخة متماثلة موجوده في المجلد اذا لم نرغب ان يتم التزامن مع هذه النسخة نختار نسخة ثانية من خلال استعراض ثم نختار النسخة المطلوبه ستظهر لنا رسالة جديده تبلغنا بضرورة اغلاق قاعدة البيانات للنسخة المتماثلة المطلوب مزامنتها نضغط موافق واخيرا ستظهر لنا رسالة بنجاح العملية واتمام المزامنه حيث تم جلب جميع البيانات من النسخة المتماثلة الى قاعدة " التصميم الرئيسي " استكشاف أخطاء النسخ المتماثل وإصلاحها لا يمكنني العثور علي التصميم الرئيسي ؟ من المحتمل أنه قد تم نقل التصميم الرئيسي من موقعه الأصلي أو أنه قد تم إتلافه . للعثور على الموقع الجديد: افتح نسخة متماثلة في مجموعة نسخ متماثل . في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن. انقر فوق استعراض لتحديد موقع أعضاء آخرين لمجموعة النسخ المتماثل على الجهاز الخاص بك أو شبكة الاتصال. حدد عضو لمجموعة النسخ المتماثل. في حالة ظهور خانة الاختيار جعل 'اسم الملف' التصميم الرئيسي ، سيصبح العضو الذي تتزامن معه هو التصميم الرئيسي . لا يمكنني فتح التصميم الرئيسي ؟ من المحتمل أن التصميم الرئيسي قد تم إتلافه . قم بعمل نسخة متماثلة للتصميم الرئيسي الجديد . تأكد من عدم استخدام النسخة المتماثلة أو التصميم الرئيسي الحالي في أي مكان آخر . افتح النسخة المتماثلة الذي تريد جعلها التصميم الرئيسي الجديد . في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن. حدد التصميم الرئيسي الجديد كعضو للتزامن معه. تحقق من خانة الاختيار جعل 'اسم الملف' التصميم الرئيسي . أريد استرداد التصميم الرئيسي ؟ يمكنك استرداد التصميم الرئيسي في حالة فقدان الملف أو إتلافه أو نقله . بالرغم من ذلك ، لا يعد هذا الخيار متاحاً إذا كانت النسخة المتماثلة المفتوحة حالياً هي نسخة متماثلة جزئية . تأكد أنه لا يوجد تصميم رئيسي في مجموعة النسخة المتماثلة . افتح النسخة المتماثلة حيث تريد إنشاء التصميم الرئيسي الجديد . في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن. انقر فوق نسخة متماثلة في القائمة, ثم انقر فوق موافق. كرر الخطوات من 2 إلى 4 حسب الضرورة لتزامن مع كل نسخة متماثلة متبقية في مجموعة النسخ المتماثل . هام تـأكد من التزامن مع كافة النسخ المتماثلة الأخرى في مجموعة النسخ المتماثل . في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن. انقر فوق نعم. لا يمكنني إنشاء النسخة المتماثلة للتصميم الرئيسي ؟ قد يتم استخدام النسخة المتماثلة بواسطة عملية أو تطبيق آخر ولا يمكن فتحها للاستخدام الخاص. انتظر عدة دقائق، وحاول مرة أخرى. إذا كنت مازلت غير قادر على جعل النسخة المتماثلة هي التصميم الرئيسي ولم تتلق أية رسالة خطأ أخرى فمن المحتمل أنه قد يكون تم إتلاف النسخة المتماثلة . قم بحذف النسخة المتماثلة وإنشاء نسخة جديدة . يوجد تصميمين رئيسيين في مجموعة النسخ المتماثلة ؟ يمنع وجود أكثر من تصميم رئيسي واحد في مجموعة النسخ المتماثل أعضاء المجموعة من التزامن بشكل صحيح . إذا حدث ذلك، قم بما يلي: تحديد أي التصميمات الرئيسية التي ستقوم بالاحتفاظ بها لكي تكون التصميم الرئيسي . حذف التصميم الرئيسي الذي لا يجب أن يتواجد . حذف كافة النسخ المتماثلة التي تحتوي على أحدث مزامنة مع التصميم الرئيسي المحذوف أو مع نسخ متماثلة أخرى تحتوي على أحدث مزامنة مع التصميم الرئيسي المحذوف . تنبيه لا تقم بحذف التصميم الرئيسي لـ مجموعة النسخ المتماثل ما لم يعد التصميم الرئيسي يعمل بشكل صحيح . يمنعك حذف التصميم الرئيسي من تغيير التصميم لقاعدة البيانات . إنها فكرة جيدة للتحقق من النسخة المتماثلة للتعارضات الموجودة. والا، قد يتم فقد السجل لأي تعارضات موجودة عندما تقوم بحذف (أو نقل) النسخة المتماثلة. في مستكشف Microsoft Windows، حدد النسخة المتماثلة التي تريد حذفها. انقر فوق النسخة المتماثلة التي تريد حذفها، ثم اضغط المفتاح DELETE. من خلال نسخة آخرى في مجموعة النسخ المتماثل، حاول تنفيذ التزامن مع نسخه متماثله محذوفه . ( ينشر هذا الإجراء الحذف للنسخ المتماثلة الأخرى ) . قم بإنشاء نسخ متماثلة جديدة من التصميم الرئيسي المتبقي لاستبدال النسخة المتماثلة أو النسخ المتماثلة التي قمت بحذفها. عندما أقوم بتغيير بيانات في نسخة متماثلة من مجموعة النسخة المتماثلة، لا يقوم بالتغيير في نسخة متماثلة أخرى؟ افتح اي نسخة متماثلة من مجموعة النسخ المتماثل التي تريد مزامنتها في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن. ادخل المسار واسم الملف لقاعدة بيانات لها نسخ متماثل التي تريد لقاعدة البيانات المفتوحة مزامنتها. انقر فوق موافق. اغلق قاعدة البيانات لعرض السجلات المحدثة وأعد فتحها. إذا لم تظهر البيانات، قد تكون قمت بتغيير البيانات في نسخة متماثلة محلية التي لا تكون متزامنة مع مجموعة النسخ المتماثل أو قد يكون قد حدث تعارض مع نسخة متماثلة اخرى . عند قيامي بتغيير تصميم كائن في التصميم الرئيسي، لا يظهر التغيير في أي نسخة متماثلة؟ افتح التصميم الرئيسي في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن. أريد استخدام برنامج مختلف لحل تعارضات التزامن؟ افتح التصميم الرئيسي لـ مجموعة النسخ المتماثل في القائمة "ملف"، انقر فوق "خصائص قاعدة البيانات". انقر فوق علامة التبويب "مخصص". في المربع اسم، اكتب دالة تعارضات النسخ المتماثل ReplicationConflictFunction. في المربع "نوع"، انقر فوق "نص". في المربع "قيمة"، اكتب اسم دالة المخصصة متبوعة بـ ( ). على سبيل المثال، إذا كان اسم الدالة المخصصة هو MyResolver، اكتب ( )MyResolver. لا أريد إجراء نسخ متماثل للنماذج أو التقارير أو وحدات الماكرو أو الوحدات النمطية عندما أقوم بنسخ متماثل لقاعدة البيانات؟ ملاحظة يجب إجراء هذه العملية قبل حدوث نسخ متماثل لقاعدة البيانات لهذا اتبع الآتي . في القائمة "ملف"، انقر فوق "خصائص قاعدة البيانات". انقر فوق علامة التبويب "مخصص". حدد الخاصية نسخ_تماثل_للمشروع في المربع خصائص . انقر فوق "لا"بجانب "القيمة". انقر فوق "تعديل". وهذه هي نسخة " التصميم الرئيسي " ومعه نسختين متماثلتين قم بالتجربه عليها وادخل بيانات جديده في النسخ المتماثله ثم قم بعملية المزامنه وجلب البيانات لقاعدة " التصميم الرئيسي " قاعدة " التصميم الرئيسي " هي zaSearch&AutoFillRecord.mdb قاعدة " النسخة المتماثلة رقم 1 هي 1zaSearch&AutoFillRecord.mdb قاعدة " النسخة المتماثلة رقم 2 هي 2zaSearch&AutoFillRecord.mdb وستجدهم في المجلد MyDataBase MyDataBase.rar اسأل الله العلي القدير ان ينفعنا واياكم بما علمنا إنه على كل شيء قدير ختاما لكم مني كل الشكر والتقدير
    1 point
  19. السلام عليكم على سبيل المثال الكود التالي يحتوي على مجموعة أوامر وفي منتصفها أمر فتح نموذج ثم تتتابع الأوامر حتى النهاية . المطلوب : بعد أمر فتح النموذج أن يقف تنفيذ الأوامر حتى يتم إغلاق النموذج بمعنى أن لا تظهر رسالة "Hello" حتى يتم غلق نموذج1 . Sub test() ' ' DoCmd.OpenForm "نموذج1" '-- المطلوب توقف الكود حتى يتم غلق النموذج المفتوح أعلاه نموذج1 MsgBox "Hello" ' ' ' End Sub تحياتي .
    1 point
  20. السلام عليكم هذا الكود سوف ينشئ جدول جديد يحتفظ فيه بالأرقام الشاغرة (غير المشغولة) ، فقط يحتاج منك تبديل إسم الجدول وإسم الحقل في الكود المرفق . Sub FindMissingSeq() Dim dbs As Database Dim rst As Recordset Dim tdfNew As TableDef Dim mis As Recordset Dim LastSeq As Long Dim FieldName As String Dim MasterTable As String Dim MissingTable As String Dim msg As String On Error Resume Next '-------------------------------------------------------------------' MasterTable = "TS-t-Transactions" '-- ÃßÊÈ ÅÓã ÇáÌÏæá --' FieldName = "Seq" '-- ÃßÊÈ ÅÓã ÇáÍÞá ÇáÐí íÍÊæí Úáì ÇáÃÑÞÇã ÇáãÓáÓáÉ --' '-------------------------------------------------------------------' Set dbs = CurrentDb Set rst = dbs.OpenRecordset(MasterTable, dbOpenSnapshot) rst.Sort = FieldName Set rst = rst.OpenRecordset MissingTable = MasterTable & "_Missing_" & FieldName Set mis = dbs.OpenRecordset(MissingTable, dbOpenDynaset) If Err.Number = 3078 Then Set tdfNew = dbs.CreateTableDef(MissingTable) With tdfNew .Fields.Append .CreateField("From_" & FieldName, dbLong) .Fields.Append .CreateField("To_" & FieldName, dbLong) .Fields.Append .CreateField("Records", dbLong) End With dbs.TableDefs.Append tdfNew Set mis = dbs.OpenRecordset(MissingTable, dbOpenDynaset) Else DoCmd.Close acTable, MissingTable Set mis = dbs.OpenRecordset(MissingTable, dbOpenDynaset) With mis .MoveFirst Do While Not .EOF .Delete .MoveNext Loop End With End If msg = "ãä æÇÍÏ ¿ " & FieldName & " åá ÊÑíÏ Ãä ÊÈÏà ÃÑÞÇã ÍÞá" & vbCrLf & _ "ÅÐÇ ÃÑÏÊ Ãä ÊÈÏà ãä ÈÏÇíÉ ÇáÃÑÞÇã Ýí ÇáÌÏæá ÅÎÊÑ áÇ" With rst .MoveFirst If vbYes = MsgBox(msg, vbYesNo) Then LastSeq = 0 Else LastSeq = rst("[" & FieldName & "]") .MoveNext End If Do While Not .EOF If rst("[" & FieldName & "]") - LastSeq > 1 Then mis.AddNew mis("[From_" & FieldName & "]") = LastSeq + 1 mis("[To_" & FieldName & "]") = rst("[" & FieldName & "]") - 1 mis("[Records]") = rst("[" & FieldName & "]") - LastSeq - 1 mis.Update End If LastSeq = rst("[" & FieldName & "]") .MoveNext Loop End With mis.Close rst.Close Set dbs = Nothing DoCmd.OpenTable MissingTable, , acReadOnly End Sub هذا الكود يصلح لحقل رقمي فقط . الكتابة العربية الموجودة بالكود كالتالي : 1 - أكتب اسم الجدول 2 - أكتب اسم الحقل الذي يحتوي على الأرقام المسلسلة 3 - هل تريد أن تبدأ أرقام حقل ..... من واحد ؟ 4 - إذا أردت أن تبدأ من بداية الأرقام في الجدول اختر لا تحياتي
    1 point
  21. المثال علي ما أذكر للأخ هاني و فيه يتم ادخال و تعديل كلمة السر Passwordhany.zip
    1 point
  22. و الان سنكمل باقي الخصائص الخاصة بالحقول خاصية التسمية Caption و هي ما يدل عليها اسمها ، تسمية للحقل و قيمتها الافتراضية هي نفس اسم الحقل و يمكن تغييرها. و لها فائدان : الاولي : أنها هي الاسم الذي يظهر للحقل حال فتح الجدول فى وضع العرض (datasheet view ) و الثانية ، أنه لاحقا عند اعداد النماذج و التقارير ، تظهر هذه القيمة كتسمية افتراضية للحقل عند اضافته الي التصميم خاصية required مطلوب و هي لها قيمتان افتراضيتان لابد من اختيار احداهما و هما نعم / لا و عند اختيار نعم فلا بد من ادخال قيمة فى هذا الحقل لكي يتم حفظ السجل فاذا ادخلت سجلا جديد و تركت الحقل خالي فسيرفض الاكسس حفظه ، و ان مسحت القيمة الموجودة به فى سجل موجود بالفعل ، فأيضا سيرفض الأكسس حفظ التعديل و هنا توجد حالة خاصة ، الا و هي أنه فى بعض الأحيان تكون القيمة الخالية هي معلومة مطلوبة فى حد ذاتها ، أي أن ال "" أو ال NULL هي معلومة ذات قيمة و لا نريد اعتبارها كاننا تركنا الحقل الخالي ففي هذه الحالة نلجا لخاصية AllowZeroLength أو السماح بقيمة مدخلة عدد حروفها صفر ( و اعتبار هذه معلومة ) و ليست قيمة خالية فاذا اخترنا القيم للخاصيتين كالتالي Required = yes AllowZeroLength = No فلن يسمح بترك الحقل بدون قيمة مدخلة و تعالوا نتفحص الاحتمالات الممكنة للخاصيتين و تأثير ذلك : Required = No AllowZeroLength = No عند ادخال ENTER أو SPACEBAR يتم تخزين القيمة Null فى الحقل و ادخال قيمة حرفية طولها صفر ( "" ) غير مسموح Required = No AllowZeroLength = Yes عند ادخال ENTER أو SPACEBAR يتم تخزين القيمة Null فى الحقل مسموح بتخزين قيمة حرفية طولها صفر ( "" ) Required = Yes AllowZeroLength = No غير مسموح بادخال ENTER أو SPACEBAR فى الحقل و غير مسموح بتخزين قيمة حرفية طولها صفر ( "" ) Required = No AllowZeroLength = No غير مسموح بادخال ENTER فى الحقل مسموح تخزين قيمة حرفية طولها صفر ( "" ) ادخال SPACEBAR مسموح و يكافئ تخزين قيمة حرفية طولها صفر القيمة الافتراضية للحقل Default Value و هي القيمة التي يتم تسجيلها افتراضيا فى الحقل عند انشاء سجل جديد و هي مفيدة فى توفبر الوقت عند ادخال البيانات ، فمثلا يمكن جعل القيمة الافتراضية لحقل تاريخ التسجيل هي اليوم نفسه فيتم تسجيل =now() فى حقل الادخال أو القيمة الافتراضية للجنسية هي جنسية محددة "فلسطيني" مثلا اذا كانت هذه هي القيمة الغالبة علي الادخالات و ما يخالف القيمة الافتراضية هو الذي يتم تعديله خاصية مفهرس Indexed طما تحدثنا سابقا فى موضوع المفاتيح و الفهارس ، فان الحقل المفهرس يكون البحث و التصفية و الترتيب فيه أسرع من الحقل العادي و هذه الخاصية لها ثلاث قيم No : القيمة الافتراضية لها ( لايوجد فهرس علي الحقل ) Yes Duplicates OK : يوجد فهرس علي الحقل و يسمح بتكرار القيم فى السجلات المختلفة ، أي يسمح بوجود أكثر من سجل به رقم الموظف = 100 مثلا مثل فى جدول الاجازات ، يمكن أن يدرج نفس الموظف أكثر من مرة فيتكرر الرقم Yes No Duplicates: يوجد فهرس علي الحقل و لا يسمح بتكرار القيم فى السجلات المختلفة ، أي لا يسمح بوجود أكثر من سجل به رقم الموظف = 100 مثلا - مثل فى جدول به قائمة الموظفين فلا يجب تكرار الموظف أكثر من مرة خاصية قاعدة التحقق من صحة الادخال ValidationRule تستخدم هذه الخاصية لوضع ضوابط علي ادخال البيانات ، و تحديد القيود و الشروط التي يجب تحقيقها لكي نقبل البانات المدخلة و الا فالبيانات ترفض و تظهر الرسالة التي يتم تسجيلها فى حقل رسالة التحقق ValidationText و هي الخاصية التالية مباشرة فى ترتيب الخصائص ، و هي تحوي صراحة الرسالة المطلوب اظهارها حال مخالفة القواعد و الشروط المحددة فى ValidationRule أمثلة <>6 لابد أن تكون القيمة المدخلة فى الحقل الرقمي لا تساوي 6 > 1000 Or Is Null اما ان تكون اكبر من 1000 أو تكون قيمة خالية أي أن القيم اقل او = 1000 غير مسموح بها مع السماح بالقيم الخالية Like "A????" القيمة النصية المدخلة لابد أن تكون مكونة من 5 أحرف و تبدأ ب A Like "م????" القيمة النصية المدخلة لابد أن تكون مكونة من 5 أحرف و تبدأ ب م Like "م*" القيمة النصية المدخلة تبدأ ب م و لا قيود علي الطول Like "A*" القيمة النصية المدخلة تبدأ ب A و لا قيود علي الطول >= #1/1/96# And < #1/1/97# لابد أن تكون قيمة التالريخ المدخلة بين 1-1-96 و 1-1-97 و الان لنتحدث عن خاصية أخري تفيد من ناحية فى التحكم فى صحة المدخلات ، و من ناحية أخري فى تسهيل الادخال الا و هي : خاصية قناع الادخال InputMask و هذا الجزء لابد من التجربة فيه كثيرا ، لانها ستكون أساس تثبيت و فهم المعلومة و للشرح الخاص بها ادخل هنا من فضلك :) خاصية القيم الجديدة newValues و هذه الخاصية تخص الحقول من نوع الترقيم التلقائي Autonumber و بها يتم تحديد هل الزيادة تصاعدية طبيعية ، ام عشوائية الحقول من نوع Lookup Wizard عند اختيار حقل من هذا النوع ، فانه يفتح نلقائيا معالج للمساعدة فى اختيار البيانات و يشترط وجود جدول آخر فى القاعدة و من هذا المعالج تختار الحقل و الجدول الذي تريد أن تجعله مصدر بيانات الحقل الحالي و يمكن اختيار أكثر من حقل ليظهر و تحديد الحقل الذي يتم تخزين القيمة الموجودة فيه و لنجرب الختيار بيانات من المعالج و للنظر ماذا حدث ؟ صفحة الخصائص العادية لا يوجد فيها جديد ، و يتم اختيار نوع الحقل بحسب ما تم اختياره فى المعالج و لا جديد فى الموضوع و لكن انتقل الي علامة التبويب Tab الثانية و المسماة Lookup Wizard لتري ماذا حدث. فقد تم اختيار نوع الاظهار مربع سرد DISPALY CONTROL = combo box و مصدر البيانات Table/Query مصدر بيانات الصف جملة اس كيو ال تعبر عن ما تماختياره من بيانات و أيضا نلاحز خاصيتي عدد الاعمدة ، و رقم العمود المنوط به تسجيل القيمة Col Count , Bound Col و طبعا يمكن للمتقدمين عمل ذلك مباشرة بدون المعالج ، و لكن بالنسبة لشرح جملة ال سي كيو ال ، فسنؤجل لذلك للمرحلة التالية ( الاستعلامات ) و لتوضيح هذه الجزئية يوجد مثال مرفق فى المشاركة التالية فى هذا الموضوع ، به جدولان ، الاول للموظفين و الثاني للبلاد و يوضح طيفية ظهور البلد فى جدول الموظفين بناء علي جدول البلاد بقيت لنا ثلاث خواص لن نتحدث عنها وهي Unicode Compression IME mode IME Sentence mode و لكي نعرف لماذا ؟؟ تعالوا نتعرف علي معني IMEs Input Method Editors و هو نظام لادراج لغات شرق آسيا فى البرنامج و سنؤجل ذلك لحين افتتاح أوفيسنا فرع شرق آسيا :) و بالنسبة ل Unicode Compression فانه يتعلق بطريقة تخين البيانات و التي تغيرت عنها فى أكسس 2000 و ما بعده عما كانت فى 97 ،فقد كانت المساحة المخصصة لكل حرف في اكسس 97 هي ا بايت ، و أصبحت 2 بايت فى اكسيس 2000 و ما يليه ، و عملية الضغط هي تتمركز حول الحروف التي يكون الكود المناظر لها البايت الاول منه مخزن به صفر و القيمة الافتراضية لهذه الخاصية هي : نعم و باختصار اتركها علي القيمة الافتراضية و لا تفكر فيها .
    1 point
  23. هذه المشاركة نقلا عن مشاركة لابي هاجر طريقة تسميات الكائنات فى الاكسس تلخيص من موقع ميكروسوفت من هنا
    1 point
×
×
  • اضف...

Important Information