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

Moosak

أوفيسنا
  • Posts

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

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

  • Days Won

    55

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

  1. وعليكم السلام ورحمة الله وبركاته .. 🙂 نعم ممكن أخي @moho58 بكل سهولة .. وبدون الحاجة للدخول في تعقيدات الاستعلام الجدولي .. مادام أن الشكل ثابت لا يتغير بزيادة في عدد السجلات المعروضة .. وإنما التغيير يكون أسبوعيا .. فيمكنك إنشاء جدول وتكون الحقول هي نفس عدد الخلايا التي في الشكل الذي عندك لكل سجل .. هكذا : وبعدها سيكون الموضوع بسيط جدا .. مجرد تنسيق للخلايا في النموذج هكذا : والنتيجة النهائية في النموذج : ولو أردت جعل المادة والمعلم تظهر تلقائيا بدل كتابتها كل مرة .. ضعها في خاصية القيمة الافتراضية عند تصميم الجدول الملف المرفق : جدول أسبوعي.accdb
  2. شكرا لك أستاذنا @ابوخليل أبدعت 🙂 من ضمن الفوائد التي كنت وضعت من أجلها روابط النسخ الاحتياطية في جدول هو سهولة العودة إليها في حال احتجنا لإعادة ربطها بقاعدة البيانات عندما تعطب القاعدة الأصلية مثلا ..
  3. الظاهر من الخطأ أن الويندوز لا تسمح لك بإنشاء ملفات في مجلد الويندوز .. بدلا من ذلك جرب عمل المجلد في الـ C مباشرة .. هكذا : "WhereToSave = "c:\Bakup بالمناسة هذه ليست دالة خاصة بالأكسس .. وإنما هي دالة أنا قمت بإنشاءها سابقا .. فلو احتجت أن تستخدمها في برنامج آخر يجب عليك أن تنسخها كاملة في موديول من موديولات البرنامج الجديد .. 🙂 وهذه هي كاملة .. : Public Function BECurrentPath() On Error GoTo ErrHandler Dim FullLinkedPath As String Dim LinkedDBPath As String FullLinkedPath = Nz(DLookup("Database", "MSysObjects", "Type=6"), "") If FullLinkedPath <> "" Then LinkedDBPath = Left(FullLinkedPath, InStrRev(FullLinkedPath, "\") - 1) BECurrentPath = LinkedDBPath & "\" Else BECurrentPath = CurrentProject.Path & "\" End If ErrHandler: If Err.Number = 0 Then Exit Function Else MsgBox "Error Number : " & Err.Number & " :::: " & Err.Description End Function
  4. قم بكتابة الموقع الجديد في المكان الذي ذكرته هكذا : "WhereToSave = "c:\windows\Bakup حيث أن BECurrentPath هو اسم الدالة التي تحضر لك الموقع الحالي لقاعدة البيانات . وكذلك عليك أن تحذف السجل المحفوظ لهذا الأسبوع من الجدول لكي يقوم البرنامج بحفظ نسخة جديدة لهذا الأسبوع .. 🙂
  5. تفضل : 🙂 Dim i, n i = GetUUID n = DCount("*", "[AllowedUUIDsT]", "[AllowdUsersUUID] ='" & i & "'") If n = 0 Then MsgBox "لا يحق لك الدخول" DoCmd.Quit Else Exit Sub End If لا تنسى تخزين الـ UUID المسموح لها بالدخول في الجدول AllowedUUIDsT صيانة2.mdb
  6. وعليكم السلام ورحمة الله وبركاته .. أهلا وسهلا بك أخي @imadimadimad في المنتدى 🙂 لا تنس المرور على قواعد المشاركة في الموقع: 😉 ----------------------------------------------------------------------------------------------- اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف. -------------------------------------------------------------------------------------------------------------------------------------------------------- وبخصوص موضوعك فيحتاج للمزيد من التوضيح .. حيث أنه لا يوجد في مرفقك ما يدل على (التحصيل العلمي) ليتمكن الإخوة من تطبيق ما تطلبه ... 🙂
  7. طيب .. قمت بعمل المطلوب في الملف المرفق .. 🙂 كل ما عليك فعله هو نقل جميع العناصر إلى برنامجك وسيعمل تلقائيا بدون الحاجة إلى أي تدخل 🙂 العناصر المراد نقلها : المرفق : Weekly Backup.accdb
  8. طبعا أخي خليفة ستقوم بتغيير المسميات حسب ما هو موجود لديك .. 🙂 تغير اسم دالة الحفظ الإحتياطي .. وكذلك اسم جدول وحقل النسخ تاريخ النسخة الاحتياطية هنا : Set RS = CurrentDb.OpenRecordset("SELECT * FROM BackUpsT WHERE [DateTime] BETWEEN #" & startWeek & "# AND #" & endWeek & "#")
  9. مشاركة في الجزء الخاص بحفظ نسخة كل أسبوع 🙂 لدي تجربة سابقة قد طبقتها في برامج صممتها سابقا .. الفكرة : أني عملت جدول لتخزين عمليات الحفظ الاحتياطي ، عند كل عملية حفظ يتم تخزين ( التاريخ والوقت - مسار الحفظ ) .. ، ولكي يتأكد البرنامج إن كان تم حفظ نسخة هذا الأسبوع أم لا .. عملت دالة تقوم بفحص حقل التاريخ في الجدول .. فإذا وجدت أن هناك نسخة محفوظة خلال تواريخ هذا الأسبوع تلغي عملية الحفظ .. وإذا لم يجد سجل محفوظ يقوم بتشغيل كود حفظ النسخة الاحتياطية وهو بدوره سيقوم بتخزين بيانات النسخة في الجدول .. 🙂 وهذا الكود الخاص بدالة فحص حقل التاريخ في جدول النسخ الاحتياطية المحفوظة : Function CheckBackupWeek() As Boolean 'هذي الدالة تفحص إذا كان هناك نسخة محفوظة سابقا في جدول النسخ الإحتياطية خلال الأسبوع الحالي 'True : نعم يوجد , False: لا يوجد ' Declare variables Dim RS As Recordset Dim startWeek As Date Dim endWeek As Date ' Get the start and end dates of the current week startWeek = DateAdd("d", -(Weekday(Date) - 1), Date) endWeek = DateAdd("d", 6, startWeek) startWeek = Format(startWeek, "mm/dd/yyyy") endWeek = Format(endWeek, "mm/dd/yyyy") 'Debug.Print startWeek, endWeek ' Open the recordset Set RS = CurrentDb.OpenRecordset("SELECT * FROM BackUpsT WHERE [DateTime] BETWEEN #" & startWeek & "# AND #" & endWeek & "#") ' Check if the recordset is empty If RS.EOF Then ' Return False if the recordset is empty CheckBackupWeek = False Else ' Return True if the recordset is not empty CheckBackupWeek = True End If ' Close the recordset RS.Close End Function وهذه طريقة استخدام دالة الفحص ومناداة كود النسخ الاحتياطي في حال وجود نسخة سابقة أم لا : If CheckBackupWeek() = False Then ' يفحص من جدول النسخ الاحتياطية إذا كانت هناك نسخة محفوظة سابقا خلال هذا الأسبوع ' إذا ما وجدها يحفظ وإذا وجدها ينتقل للإجراء التالي Call DoBackup Else ' توجد نسخة سابقة لذلك يخرج Exit Function End If تحياتي 🙂
  10. هناك نقطة أضنك انتبهت لها أستاذنا @ابوخليل 🙂 لو أراد نقل البرنامج لجهاز آخر سيضطر لفتح محرر الأكواد لتغيير رقم الـــ UUID .. هنا أعتقد أنه من الأفضل بأن يتم تخزين الأرقام المصرح لها بالدخول في جدول .. ويستدعي الكود الرقم من الجدول بدل كتابته يدويا في الكود .
  11. وعليكم السلام ورحمة الله وبركاته 🙂 تفضل أخي @pingo22 .. تعملها عن طريق دالة DLookup : DLookUp("[E_ICON_TITLE]";"[Data1]";"[E_INA05] ='"& [Forms]![Form1]![E_INA32] &"'") تجعلها مصدر بيانات مربع النص .. والنتيجة : Database5.accdb
  12. السلام عليكم أستاذي العزيز @ابوخليل 🙂 بعد التجربة .. يعمل بكفاءة ما شاء الله .. فقط لاحظت أنه يفتح صفحة جديدة (تبويب جديد في الكروم) عند كل تجربة إرسال .. مما يجعل الحساب يقوم بعملية تسجيل دخول في كل مرة .. وعند الإرسال لمجموعة أشخاص مرة واحدة لا يحدث ذلك .
  13. أربط مصدر سجلات التقرير باستعلام .. ومن الاستعلام يمكن التحكم بعدد السجلات
  14. أهلا بك أخي @kassem_geo 🙂 بالفعل البحث يتم في جميع الحقول .. ومن ضمنها الشرح .. والكود .. وطريقة لاستدعاء .. والرابط ....
  15. شكرا لك عمي @ابوخليل على هذي الرائعة 🙂 .. أعتذر عن الغياب وعدم التفاعل خلال هذي الفترة .. بعيد قليلا عن عالم التقنية .. ولي عودة قريبا إن شاء الله .
  16. يا ما أحلاها الحلول الجاهزة 👍🏼😅 جزاك ربي الجنة 🌷
  17. وعليك السلام أخي محمد .. 🙂 كان لدي كود لفتح البرنامج من ملف الريجيستري مباشرة .. ولكنه مع التحديثات الجديدة لم يعد يعمل ..
  18. تكتب في حدث بعد التحديث للقائمة هكذا مثلا : Wsool = Qyaam + 2 Wsool = اسم حقل الوصول Qyaam = اسم القائمة المنسدلة
  19. وعليكم السلام أخي @albadr 🙂 يفضل أن تضع مثال حقيقي .. لأن الطرق كثيييييييرة جدا .. ولكنها تعتمد على طلبك بالتحديد .
  20. أستاذنا @ابوخليل .. لدي نفس الكود كنت سأضعه كجواب .. ولكن عندما جربته في ملفات مكتوبة بالعربية يلخبط .. 😅 وهكذا تظهر :
  21. وعليكم السلام ورحمة الله وبركاته أخي @أحمد عمروف 🙂 جرب وضع هذا السطر في المعيار (مع مراعاة تغيير اسم النموذج واسم مربع النص كالتي عندك): Like "*" & Nz(Forms![frm_Main]![Srch_Item] ; "*") & "*" وإذا ما اشتغلت معاك ، انسخ الاستعلام وشيل المعيار من واحد منهم .. وبكذا يكون عندك استعلامين 🙂 وإذا حبيت تدخل البرمجة في الموضوع .. إعمل لك دالة تفحص إذا النموذج مفتوح ولا لا .. فإذا كان مفتوح تعطيك القيمة اللي في النموذج .. وإذا مغلق تعطيك النجمة * .. (بمعنى تظهر كل السجلات) .
  22. حياك الله اخي @ابوالسيل 🙂 استخدم دالة Switch بدل دالة IIF .. وطريقتها سهلة .. أنا عملت لك نموذج منها .. وأنت كمل الباقي .. 🙂 وهكذا تكتب : Need: Switch([مجموع الفصول]=1;2;[مجموع الفصول]=2;3;[مجموع الفصول]=3;4;[مجموع الفصول]=4;6;[مجموع الفصول]=5;7) والنتيجة في الاستعلام : ‏‏برنامج الاحتياج.rar
  23. تفضل أخي @أبو امين 🙂 << تعديل >> عملت لك دالتين .. واحدة للنماذج وأخرى خاصة بالتقارير .. أنسخهم هم الإثنين في موديول : Public Sub ShowOrHideFormControls() Dim Frm As Form Dim Ctl As Control Set Frm = Screen.ActiveForm For Each Ctl In Frm.Controls Select Case Ctl.ControlType Case acTextBox, acComboBox, acListBox, acCheckBox, acOptionButton, acOptionGroup If IsNull(Ctl.value) Or Ctl.value = "" Then Ctl.Visible = False End If End Select Next Ctl Set Frm = Nothing End Sub '------------------------------------------------------------------- Public Sub ShowOrHideReportControls() Dim Rpt As Report Dim Ctl As Control Set Rpt = Screen.ActiveReport For Each Ctl In Rpt.Controls Select Case Ctl.ControlType Case acTextBox, acComboBox, acListBox, acCheckBox, acOptionButton, acOptionGroup If IsNull(Ctl.value) Or Ctl.value = "" Then Ctl.Visible = False End If End Select Next Ctl Set Rpt = Nothing End Sub وتنادي كل دالة باسمها حسب الاستخدام هكذا : ' للنماذج Call ShowOrHideFormControls() ' للتقارير Call ShowOrHideReportControls()
  24. بارك الله فيك أخي النجاشي .. وانتظروا التحديث القادم إن شاء الله 😊
×
×
  • اضف...

Important Information