اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    180

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

  1. بارك الله بك ، ونفع بك ,, أشكرك أخي ناقل على تهنئتك
  2. مداخلة فيما يتعلق بإعدادات اللغة الإقليمية في الويندوز ,, اذا كان الويندوز لديك إصدار 10 أو 11 ، فجرب اقرأ ها الموضوع ، عله يكون مفيداً لك .. الإصدار الأخير من الأداة في هذه المشاركة هنا ..
  3. وعليكم السلام ورحمة الله وبركاته .. رغم أنك الى حد ما قريب من تحقيق هدفك في محاولتك داخل الزر .. إلا ان بعض النقاط قد غابت عنك ، مثل :- تنسيق التاريخ بشكل صحيح . استخدام دالة DLookup بطريقة سليمة عند مقارنة التواريخ . يفضل استخدام Format عند التعامل مع التواريخ في SQL لتفادي أخطاء اللغة الإقليمية وتنسيق التواريخ . على العموم ، جرب هذا التعديل على ملفك الصلي إن كان صحيحاً :- Private Sub أمر24_Click() Dim numFonct As Long Dim dateGrade As Date Dim critereRecherche As String Dim resultat As Variant numFonct = Nz(Me!num, 0) dateGrade = Nz(Me!date_grade_poste_actuel, #1/1/2000#) critereRecherche = "code_fonct = " & numFonct & " AND date_nomination = #" & Format(dateGrade, "yyyy-mm-dd") & "#" resultat = DLookup("code_fonct", "tbl_masser_mihani", critereRecherche) If Not IsNull(resultat) Then MsgBox "هذه المعلومات موجودة من قبل", vbExclamation + vbMsgBoxRight, "" Exit Sub End If DoCmd.SetWarnings False DoCmd.RunSQL _ "INSERT INTO tbl_masser_mihani (code_fonct, loi_fondamontale, grade, sinf, date_nomination, numero_visa_cf, date_visa_cf) " & _ "SELECT num_fonctionnaire, loi_fondamontale, grade_poste_actuel, categorie, date_grade_poste_actuel, num_visa_grade_poste_actuel, date_visa_grade_poste_actuel " & _ "FROM tbl_info_fonctionnaire " & _ "WHERE num_fonctionnaire = " & numFonct DoCmd.SetWarnings True MsgBox "تمت الإضافة بنجاح", vbInformation + vbMsgBoxRight, "نجاح" End Sub
  4. اخي افتح المرفق التالي ، واختر فلترة عشوائية لأي بيانات ، وانقر زر افتح التقرير .. الترتيب والتصميم حسب رغبتك . ما تم هو انشاء تقرير مبني على الإستعلام Qsearch4 ، وإضافة الحقول نفسها من الاستعلام الى التقرير .. حيث ان الاستعلام مشروط بالفلترة ، وما سيتم تطبيقه على التقرير هو عرض السجلات التي تم فلترتها فقط الجمعية 28.zip
  5. أهلاً باشمهندس @عمر ضاحى ،، جميع ما ذكرته تقريباً ، هو ما تم التلميح له سابقاً ، وقم تم إدراجه في التحديث الجديد.. أما إنشاء نسخة احتياطية Dat ، فهي تعمل بشكل سليم ، ولكن ما لم يكن مدرجاً هو الإستعادة من هذه الصيغة 😅 أما فيما يخص فأعتقد أن الأزرار والعناوين واضحة بشكل كافي ، ولكن أعتقد أيضاً أن كثيرة هي المواضيع التي تناولت موضوع النسخ الاحتياطي وبنفس النمط 😅 ، مع محاولتي الإحتفاظ بالتسميات للأزرار دون تعديلها بإختصارات. بكل الأحوال يسعدني ويشرفني مرورك العطر 💐 💐
  6. فهمتك معلمي الفاضل .. بالطبع ، ويمكن تقييد المستخدم العادي من عدم الدخول أساساً الى لوحة النسخ الإحتياطي ( وهذا لا خلاف عليه ) في الأداة جعلتها قادرة على التعامل مع القواعد المنقسمة والغير .. وإذا كان النسخ الإحتياطي الذي نريده ان يتم على القاعدة لجميع الجداول ( عند محاولة استرجاع طبعاً ) محصوراً فقط بالجداول المحلية ، فلا أعلم الهدف ( والسبب أن 99% ممن يقوم بتقسيم قواعد بياناته هو لتجنب تلف وتضخم قواعد البيانات بسرعة ولحمابة البيانات والجداول ) . على العموم سأرى ما يمكن تفعيله وتعديله في النسخة الجديدة ان شاء الله أهلا مهندسنا الغالي ,, في الواقع ، من المفترض أن يتم انشاء المجلدات عند فتح الواجهة ، ولكن يبدو أنني لم أعد استدعاء الدالة الى حدث عند الفتح ,, لذا تم التعديل لاحقاً في النسخة الجديدة ان شاء الله 👍 الإسترجاع في الإصدار السابق محصور فقط للـ MDB ، وقد التعديل والتطوير في الإصدار الجديد أيضاً .. لكني هنا في طور استنتاج النقاط التي يمكن إضافتها وتحسينها 😊
  7. وعليكم السلام ورحمة الله وبركاته .. المعطيات من خلال الملف المرفق :- 1. نوع التنسيق = نسبة مئوية ( Percent ) . 2. النتيجة في المربعات النصية التي فيها المشكلة = #Num! دلالة على أنه غير قادر على إدراج النتيجة 0 كنسبة مئوية .. جرب في مربع النص d67 داخل ا لتقرير استخدام الجملة التالية :- =IIf([d55]=0,0,([d63]+[d61]+[d59])/[d55]) بدلاً من التعبير السابق :- =([d63]+[d61]+[d59])/[d55] وبناءً عليه قم بالتطبيق بنفس الأسلوب 🤗
  8. هو الحل الأبسط من باب الأمان عند التراجع 😅 هنا نأتي لفكرة السلاح ذو الحدين .. والأمر يعود للمستخدم بأن يتم تحديد الجداول كاملة في اإعدادات أم بعض الجداول !!!! النسخ الإحتياطي التلقائي ( حسب ضبط الإعدادات ) متاح التحديد بعدد الساعات أو الأيام !! ومن السهل جعل النسخ التلقائي مقرون فقط بجميع الجداول وليس بالإعدادات المتاحة في جدول الإعدادات .. هي إما مرونة أو تضخيم للفكرة 😁
  9. وعليكم السلام ورحمة الله وبركاته ,, لم تحدد التقرير الذي تريده ان يكون النتيجة للفلترة أخي الكريم ..
  10. أخي الكريم ، شكراً لمتابعتك .. ولكن برأيك هل المرفق يحتوي على بيانات أو سجلات كي يتم فهم الموضوع ؟؟؟؟؟؟ حاول ادراج بيانات غير حساسة وغير شخصية في المرات القادمة كعينة على المشكلة .. على العموم ، قمت ببعض التعديلات ( نوع حقل رقم القضية ، استعلام جديد وجعلته مصدر بيانات النموذج المخصص للبحث .... ) متابعة القضايا.zip
  11. قد يكون هناك مخرج يلبي خط الرجعة هذا بحيث يتم انشاء نسخة خاصة قبل الاستعادة !!!! ما رأيكم 🤔 ؟؟ وبهذا سيكون له حرية الرجوع إليها متى يشاء !!!
  12. وجهة نظرك سليمة 100% ، ولا اختلف معك فيها .. فالنسخة الإحتياطية التي تم استعادتها من الطبيعي انها تحتوي سجلات سابقة ولا يوجد بها السجلات الجديدة !!!! كحال اي برنامج يقوم على استعادة نسخة احتياطية سابقة ، والهدف الوظيفي هو الإستعادة وليس التحديث !!!!
  13. بارك الله بك ، ونفع بك ، وزادك من علمه ,, شكراً لك على مشاركتنا هذا العمل الجميل . ونأمل منك أن تقوم بتطوير الفكرة لتشمل الترجمة الإنجليزية لكل آية بترجمة صحيحة ومعتمدة . علها تكون لك أضعافاً من الحسنات عند نشر هذا العمل وأنصحك بفتح موضوع جديد بهذه النتيجة لتعم الفائدة بشكل أكبر .
  14. وعليكم السلام ورحمة الله وبركاته .. ملاحظة مهمة بخصوص المتغيرين i و ii :- حيث تم تعريفهما كـ String ، بينما من الواضح ( وبناءً على ما أذكر من مشاركات سابقة ) أنهما يمثلان رقم الترم المخزن في العمود الأول (Column(0)) من الـ ComboBox . صحيح ؟؟ Private Sub Report_Open(Cancel As Integer) Dim i As Long, ii As Long i = Forms!frm_Reports!ComboSaf.Column(0) ii = Forms!frm_Reports!termNum.Column(0) Me.tsmya1.Caption = funSanahDrasyahDate() If ii = 2 Then Me.tsmya2.Caption = "الدور الأول" Else Me.tsmya2.Caption = "الدور الثاني" End If DoCmd.Maximize End Sub
  15. وعليكم السلام ورحمة الله وبركاته .. في الورقة "بينات" لاحظ التكرار في القيم لـ CAR على سبيل المثال ، فأي عدد معدات سيتم اعتباره العدد الصحيح للمعدات ؟؟؟ وكذلك الأمر لباقي المطلوب .. وحتى عدد الساعات !!!!!!! فسر لنا بالضبط الشروط والمعايير التي على أساسها سيتم اعتماد القيم الصحيحة لإنشاء معادلاتك !!
  16. نعم صحيح ، يتم التعامل مع الجداول فقط دون الحاجة الى حذفها وإعادة العلاقات اليها .. ما يتم هو حف السجلات بدءً بجداول الأبناء للعلاقات ، ثم حذف السجلات من الجداول الآباء . وعند الإستعادة يتم الأمر بالعكس !! حيث ستكون الإستعادة أولاً لجداول الآباء ثم الأبناء تباعاً ,, التجربة هي الفيصل في الأمر 😅 . حيث قمت بالتجربة على اكثر من مشروع لدي وكان الأمر ناجحاً دون حدوث اي مشاكل ولله الحمد ولإجراءاتكم بالتجربة والإفادة بالنتيجة 😇
  17. مهو انا ما وضعتهوش وقاصد ده .. لأنه لسه في تحديثات جديدة وقلت نشوقكم حبتين
  18. أخي الفاضل ، الجداول مخفية .. انظر الصورة لإظهارها تم ذكر التوضيح في المشاركة الأصلية
  19. وعليكم السلام ورحمة الله وبركاته ،، هذا لأنك لم تنقل جدولي النظام الخاصين بالأداة . USysMyCopies و USysOptCopies
  20. وإياكم أخي الكريم 🤗 😇
  21. أخواني وأساتذتي ومعلمينا ( دون استثناء ) أشارككم في هذا الموضوع أداة بسيطة وفعالة قمت بتطويرها لأغراض إنشاء واستعادة نسخ احتياطية من قواعد بيانات اكسيس . ✔️ الهدف الأساسي من الأداة هو توفير طريقة مرنة وآمنة لأخذ نسخ احتياطية من الجداول المهمة بشكل دوري أو عند الحاجة ، وتسهيل استعادتها لاحقاً بنفس البنية والبيانات . صورة من واجهة الأداة :- الواضح من الواجهة ، أن الأداة ستمكنك من :- أولاً :- إنشاء نسخة احتياطية ضمن الإعدادات التي تحددها في زر "خيارات الحفظ" . عند النقر عليه ستجد هذه الإعدادات في الصورة .. مسار الحفظ للنسخ الإحتياطية سيكون فقط في المجلد Backup في المجلد الرئيسي Data الموجود بجانب قاعدة البيانات . نوع الملحق سيكون MDB و DAT . وهما النوعين الأكثر شمولاً واستخداماً في جميع الأفكار التي لها نفس الوظيفة . عدد النسخ التي ستحتفظ بها هو فقط ما تحدده . وسيتم حذف النسخ الأقدم تباعاً . بإمكانك تحديد كلمة مرور لحماية قاعدة بيانات الجداول . ولا ننصح بتغييرها لكل نسخة كي لا تتوه وتفقد بياناتك . إمكانية النسخ التلقائي حسب عدد الأيام أو الساعات الي تريد أخذ نسخة تلقائية فيه . ثانياً :- إنشاء نسخة احتياطية لجداول تقوم بتحديدها - ولك حرية اختيار الجداول في كل نسخة - حيث أنها لن تؤثر على سير عملية الإسترجاع لاحقاً . انظر الصورة للتوضيح :- على اليمين تظهر أسماء الجداول في القاعدة الحالية ( مرتبطة أو محلية ) . ولك الحرية باختيار جداول محددة بالنقر المزدوج على الجدول ، أو تحديد الكل / إلغاء الكل . حسب حاجتك . ثالثاً :- الأزرار كما هي في صورة واجهة الأداة ، تشير إلى :- زر "حفظ نسخة إحتياطية جديدة" :- لإنشاء نسخة إحتياطية حسب الإعدادات اتي تم تحديدها . زر "تحديث بيانات النُسخ الإحتياطية" :- لإعادة ترتيب السجلات في الجدول حسب النسخ الموجودة في مجلد انسخ الإحتياطي . زرا "نُسخ محددة" و "كافة النُسخ" :- لحذف محدد أو لجميع النسخ الإحتياطية . زر "إنشاء" في قسم "نسخة خاصة" :- مخصص لإنشاء نسخة خاصة في مكان يقوم المستخدم بتحديده وليس ضمن المسار المحدد في الإعدادات ، وبإسم متغير كيفما يريد . زر "استرجاع" في قسم "نسخة خاصة" :- مخصص لإسترجاع نسخة يقوم المستخدم بتحديدها بشكل يدوي من خلال مربع حوار اختيار ملف . زر "استرجاع" في قسم "استرجاع النسخة رقم" :- مخصص لاختيار نسخة محددة برقمها . حيث تظهر النسخ التي تم أخذها إحتياطياً ، في أعلى جزء النموذج والتنقل بينها من خلال الزرين < > . رابعاً :- في هذا الإصدار ( V1.0 ) من الأداة على عدم الإعتماد على أي مكتبات خارجية أو من مكتبات أكسيس . حيث تمت التجربة على إصدارات اكسيس ( 2010 فما فوق ) . Backup 2025 - V1.0.accdb.zip :- دائماً يسعدني إبدائكم الرأي والملاحظات حول الأخطاء والمشاكل التي يمكن مواجهتها في أي مشروع يتم تأسيسه في آكسيس أو غيره من لغات البرمجة . أولاً تأكد من وجود جدولي الأداة ( USysMyCopies و USysOptCopies ) عند نسخها الى مشروعك . مع العلم أنها مخفية كجداول نظام ، ويمكنك إظهارها كما في الصورة التالية :- ثانياً ، قم بالدخول الى خيارات الحفظ ، والنقر على زر "انقر لضبط مسار مجلد الحفظ بشكل آلي" لضبط وتحديد مسار مجلد الحفظ الرئيسي . فقط لأول مرة .
  22. وعليكم السلام ورحمة الله وبركاته ,, كلا أخي لم يتم اغلاق الموضوع ،ولن يتم إغلاقه ما لم تتجاهله أنت . ولكنك لم تحصل على أي تفاعل أو ردود لأسباب عديدة ، أذكر لك منها :- عدم التأسيس الصحيح لمطلبك بحيث أنك تبحث عن مشروع كامل وليس طلب واحد . غير واضح في طلباتك . لا تراعي التسلسل في طلباتك من حيث البدء بالأساسيات أولاً ، ثم الإنتقال الى مراحل أخرى . لا تتبع النصائح والتوجيهات المقدمة لك من قبل الأساتذة والمعلمين الذين حاولوا تقديم المساعدة سابقاً . لذا وكي تحقق مرادك وهدفك ، ابدأ بطرح المواضيع تسلسلاً متتابعاً من الصفر ، من حيث طريقة التأسيس للجداول والمسميات ... إلخ وستجد فرقاً في الإستجابة . ولكن اضبط نفسك في التسلسل ، ولا تتسرع بالقفز بين المواضيع . فنعلم أنك تريد المساعدة في أمور ليس لك فيها العلم القوي . أمنياتنا بالتوفيق
×
×
  • اضف...

Important Information