-
Posts
2286 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
57
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
طبعا أخي خليفة ستقوم بتغيير المسميات حسب ما هو موجود لديك .. 🙂 تغير اسم دالة الحفظ الإحتياطي .. وكذلك اسم جدول وحقل النسخ تاريخ النسخة الاحتياطية هنا : Set RS = CurrentDb.OpenRecordset("SELECT * FROM BackUpsT WHERE [DateTime] BETWEEN #" & startWeek & "# AND #" & endWeek & "#")
-
مشاركة في الجزء الخاص بحفظ نسخة كل أسبوع 🙂 لدي تجربة سابقة قد طبقتها في برامج صممتها سابقا .. الفكرة : أني عملت جدول لتخزين عمليات الحفظ الاحتياطي ، عند كل عملية حفظ يتم تخزين ( التاريخ والوقت - مسار الحفظ ) .. ، ولكي يتأكد البرنامج إن كان تم حفظ نسخة هذا الأسبوع أم لا .. عملت دالة تقوم بفحص حقل التاريخ في الجدول .. فإذا وجدت أن هناك نسخة محفوظة خلال تواريخ هذا الأسبوع تلغي عملية الحفظ .. وإذا لم يجد سجل محفوظ يقوم بتشغيل كود حفظ النسخة الاحتياطية وهو بدوره سيقوم بتخزين بيانات النسخة في الجدول .. 🙂 وهذا الكود الخاص بدالة فحص حقل التاريخ في جدول النسخ الاحتياطية المحفوظة : 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 تحياتي 🙂
-
هناك نقطة أضنك انتبهت لها أستاذنا @ابوخليل 🙂 لو أراد نقل البرنامج لجهاز آخر سيضطر لفتح محرر الأكواد لتغيير رقم الـــ UUID .. هنا أعتقد أنه من الأفضل بأن يتم تخزين الأرقام المصرح لها بالدخول في جدول .. ويستدعي الكود الرقم من الجدول بدل كتابته يدويا في الكود .
-
كيفية اضافة حقل من سجل في سجل اخر في النموذج
Moosak replied to pingo22's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 تفضل أخي @pingo22 .. تعملها عن طريق دالة DLookup : DLookUp("[E_ICON_TITLE]";"[Data1]";"[E_INA05] ='"& [Forms]![Form1]![E_INA32] &"'") تجعلها مصدر بيانات مربع النص .. والنتيجة : Database5.accdb -
السلام عليكم أستاذي العزيز @ابوخليل 🙂 بعد التجربة .. يعمل بكفاءة ما شاء الله .. فقط لاحظت أنه يفتح صفحة جديدة (تبويب جديد في الكروم) عند كل تجربة إرسال .. مما يجعل الحساب يقوم بعملية تسجيل دخول في كل مرة .. وعند الإرسال لمجموعة أشخاص مرة واحدة لا يحدث ذلك .
-
أربط مصدر سجلات التقرير باستعلام .. ومن الاستعلام يمكن التحكم بعدد السجلات
-
مكتبة الموقع - برنامج ::🎁 📚(( مكتبة الأكواد الخاصة ))📚🎁 ::
Moosak replied to Moosak's topic in قسم الأكسيس Access
أهلا بك أخي @kassem_geo 🙂 بالفعل البحث يتم في جميع الحقول .. ومن ضمنها الشرح .. والكود .. وطريقة لاستدعاء .. والرابط .... -
🟡🟢 تحديثات على مرسال الواتسأب ليتوافق مع الاصدار الجديد 🟢🟡
Moosak replied to ابوخليل's topic in قسم الأكسيس Access
شكرا لك عمي @ابوخليل على هذي الرائعة 🙂 .. أعتذر عن الغياب وعدم التفاعل خلال هذي الفترة .. بعيد قليلا عن عالم التقنية .. ولي عودة قريبا إن شاء الله . -
يا ما أحلاها الحلول الجاهزة 👍🏼😅 جزاك ربي الجنة 🌷
-
وعليك السلام أخي محمد .. 🙂 كان لدي كود لفتح البرنامج من ملف الريجيستري مباشرة .. ولكنه مع التحديثات الجديدة لم يعد يعمل ..
-
تكتب في حدث بعد التحديث للقائمة هكذا مثلا : Wsool = Qyaam + 2 Wsool = اسم حقل الوصول Qyaam = اسم القائمة المنسدلة
-
وعليكم السلام أخي @albadr 🙂 يفضل أن تضع مثال حقيقي .. لأن الطرق كثيييييييرة جدا .. ولكنها تعتمد على طلبك بالتحديد .
-
أستاذنا @ابوخليل .. لدي نفس الكود كنت سأضعه كجواب .. ولكن عندما جربته في ملفات مكتوبة بالعربية يلخبط .. 😅 وهكذا تظهر :
-
فتح استعلام به شروط من على النموذج .. دون فتح النموذج !!
Moosak replied to أحمد عمروف's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته أخي @أحمد عمروف 🙂 جرب وضع هذا السطر في المعيار (مع مراعاة تغيير اسم النموذج واسم مربع النص كالتي عندك): Like "*" & Nz(Forms![frm_Main]![Srch_Item] ; "*") & "*" وإذا ما اشتغلت معاك ، انسخ الاستعلام وشيل المعيار من واحد منهم .. وبكذا يكون عندك استعلامين 🙂 وإذا حبيت تدخل البرمجة في الموضوع .. إعمل لك دالة تفحص إذا النموذج مفتوح ولا لا .. فإذا كان مفتوح تعطيك القيمة اللي في النموذج .. وإذا مغلق تعطيك النجمة * .. (بمعنى تظهر كل السجلات) . -
تفضل أخي @أبو امين 🙂 << تعديل >> عملت لك دالتين .. واحدة للنماذج وأخرى خاصة بالتقارير .. أنسخهم هم الإثنين في موديول : 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()
-
مكتبة الموقع - برنامج ::🎁 📚(( مكتبة الأكواد الخاصة ))📚🎁 ::
Moosak replied to Moosak's topic in قسم الأكسيس Access
بارك الله فيك أخي النجاشي .. وانتظروا التحديث القادم إن شاء الله 😊 -
وعليكم السلام ورحمة الله وبركاته أخي أحمد .. 🙂 من الضروري جدا فتح برنامج الواتسأب وتسجيل الدخول قبل الارسال .. ليس من مهام برنامج المرسال تشغيل الواتسأب .. فقط يقوم بإرسال الرسائل ..
-
عيد فطر سعيد / Moosak
Moosak replied to ابو طارق سعيد's topic in المنتدى التقني العام و تطبيقات الأوفيس الأخرى
اللهم آمين يارب العالمين .. وإياكم أجمعين 🙂🌷 -
عيد فطر سعيد / Moosak
Moosak replied to ابو طارق سعيد's topic in المنتدى التقني العام و تطبيقات الأوفيس الأخرى
وكل عام وانت بخير .. وصحة وسلامة أخي أبوطارق .. 😊🌷 تقبل الله طاعاتكم .. -
تهنئة بعيد الفطر المبارك
Moosak replied to kkhalifa1960's topic in المنتدى التقني العام و تطبيقات الأوفيس الأخرى
كلُّ عيدٍ والسعدُ يحفُّ أرواحكم هنأكم الله، وبشّركم، وسرّكم، وأسعدكم، وأبهجكم، وآنسكم، وأفرحكم، وأضحككم، ورضي عنكم .. كُل عام وقلوبكمْ في علوٍ ورفعةٍ من الدينْ والدُنيا، وكل عام وأكاليل السعادة تزهى بكم. كُلّ عـــام وَ الطمأنينة وَ السـلام تطـوق ٲرواحكم. كُلّ عـــام وَ قلوبكم تنبضُ حُـبّاً وفرحاً .. -كل عام وأنتم بخير وعافية وإنشراح صدر، وقلوبكم مليانة سعادة وطمأنينة وسلام، عيد سعيد عليكم جميعًا 🌷🌷💗🌹🌹🌹🌹🌹🌹🌹🌹💗🌷🌷 -
طلب كود يقوم بسحب الصورة من السكانر مباشرة وعرضها في النموذج <معدل>
Moosak replied to blue sea's topic in قسم الأكسيس Access
أخي خليفة @kkhalifa1960 فيه حاجة مش مضبوطة في كود الاسكانر .. !! 🙂 -
السلام عليكم أخي @حامل المسك 🙂 من رأيي لتنظيم هذا الأمر من البداية عليك أن تقوم بإنشاء 3 جداول .. الجدول 1 : لجميع الجهات ( الجهات التابعة ) .. وبه عمود وهو المفتاح الأساسي ( أسماء الجهات التابعة .. مثلا ) الجدول 2 : للجهات الرئيسية (الجهات المتبوعة) .. وبه عمود وهو المفتاح الأساسي ( الجهات الرئيسية.. مثلا) الجدول 3 : وهو جدول الربط ( ربط الجهات التابعة بالجهات المتبوعة ) نفس جدولك الحالي تقريبا .. ولكن به 3 حقول ومفتاحين أساسيين ( ID - [الجهات التابعة (قائمة منسدلة مصدرها الجدول 1 )] - [الجهات المتبوعة (قائمة منسدلة مصدرها الجدول 2 )] ) والحقلين الذين باللونين الأزرق والأحمر هما المفتاحين الأساسيين ( وذلك لتجنب تكرار الإدخالات ) . الجدول 3 هو جدول ذو علاقة (many to many) أو (متعدد إلى متعدد) . بهذه الطريقة ستستطيع عمل تقارير واستعلامات بكل سهولة وأريحية وبدون تكرارات 🙂
-
وعليكم السلام ورحمة الله وبركاته أخي @النجاشي 🙂 بالاستعانة بالـ ChatGPT .. يوجد هناك كود للتحويل من PDF إلى الأكسل .. ولكنه يحتاج لمكتبة وسيطة .. وهي مكتبة ال Adobe Acrobat API لذلك لازم يكون البرنامج منصب عندك في الجهاز لكي يعمل معاك الكود .. وهذا هو الكود (لم أجربه) : Sub ConvertPDFToExcel() Dim AcroApp As Object Dim AcroAVDoc As Object Dim AcroPDDoc As Object Dim ExcelApp As Object Dim ExcelWorkbook As Object Dim ExcelWorksheet As Object Dim PDFFilePath As String Dim ExcelFilePath As String ' Set the file paths for the PDF file and the Excel file PDFFilePath = "C:\Path\to\input.pdf" ExcelFilePath = "C:\Path\to\output.xlsx" ' Create an instance of the Acrobat application Set AcroApp = CreateObject("AcroExch.App") ' Open the PDF file Set AcroAVDoc = CreateObject("AcroExch.AVDoc") If AcroAVDoc.Open(PDFFilePath, "") Then Set AcroPDDoc = AcroAVDoc.GetPDDoc() ' Save the PDF as an Excel file AcroPDDoc.SaveAs ExcelFilePath, "com.adobe.acrobat.xlsx" ' Close the PDF document AcroPDDoc.Close End If ' Release the Acrobat objects Set AcroAVDoc = Nothing Set AcroPDDoc = Nothing AcroApp.Exit Set AcroApp = Nothing ' Open the Excel file Set ExcelApp = CreateObject("Excel.Application") Set ExcelWorkbook = ExcelApp.Workbooks.Open(ExcelFilePath) Set ExcelWorksheet = ExcelWorkbook.Sheets(1) ' Manipulate the Excel data as needed ' ... your code here ... ' Close and save the Excel file ExcelWorkbook.Close SaveChanges:=True ExcelApp.Quit ' Release the Excel objects Set ExcelWorksheet = Nothing Set ExcelWorkbook = Nothing Set ExcelApp = Nothing End Sub ملاحظة من ChatGPT : لاستخدام Adobe Acrobat API ، تحتاج إلى تثبيت Adobe Acrobat على جهازك ، وقد تحتاج إلى إضافة المكتبة "Adobe Acrobat" أو "Adobe Acrobat xx.0 Type Library" في برنامجك. بالإضافة إلى ذلك ، تحتاج إلى التأكد من أن إصدار Adobe Acrobat المثبت على جهازك يدعم استدعاءات ال API . يرجى الرجوع إلى وثائق Adobe Acrobat API للحصول على مزيد من المعلومات حول الطرق المتاحة والإصدارات المدعومة.
-
طبعا الأساتذة الكرام جزاهم الله خيرا أجابوا عن هذا السؤال بالأكواد البرمجية .. وهناك طريقتين سهلتين لا تحتاج لبرمجة وسريعة خصوصا في حال أن النقل لمرة واحدة وليست عملية متكررة 🙂 الأولى : عن طريق معالج الاستيراد الخاص بالأكسس ، وهو نفسه الذي نستورد به الجداول ولكن نختار النماذج من تبوب النماذج .. الثانية : وهي أسهل من الأولى (السحب والإفلات) .. يعني تختار النموذج .. تسحبه بالماوس من القاعدة 1 وتفلته في القاعدة 2 في مكان النماذج .. وتم بحمد الله 😄✋🏻