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

Foksh

الخبراء
  • Posts

    2,776
  • تاريخ الانضمام

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

  • Days Won

    103

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

  1. وعليكم السلام ورحمة الله وبركاته .. مشاركة مع الاستاذ @أبوبسمله جرب التالي ايضاً ..
  2. وعليكم السلام ورحمة الله وبركاته ، إن كنت من متابعي ومنتسبي جروب الواتس أب ؛ فقد تمت الإجابة عن هذا السؤال سابقاً .. مثال بسيط Main (1).accdb
  3. اختيار "القيم الفريدة" تجده هنا ,, هذا الإختيار يستخدم لتصفية النتائج بحيث لا تتكرر القيم في نتائج الإستعلام .
  4. أخي الكريم وعليكم السلام ورحمة الله وبركاته .. للأسف ما زلت تكرر نفس الخطأ بعدم الشرح الكافي كنقطة أولى .
  5. وعليكم السلام ورحمة الله وبركاته Null
  6. جرب On Error GoTo hoh DoCmd.Save DoCmd.GoToRecord , , acNewRec Me.Instructor_ID.SetFocus hoh: If Err.Number = 2105 Then MsgBox "سجل مكرر ! لا يمكنك إدخال نفس البيانات مرتين", vbExclamation + vbMsgBoxRight, "تنبيه" Cancel = True Else MsgBox "حدث خطأ", vbCritical + vbMsgBoxRight, "خطأ" End If
  7. وعليكم السلام ورحمة الله وبركاته ،، اعتقد ان حل مشكلتك يعتمد على رقم هذا الخطأ في آكسيس ، وإن ما خاب ظني Err.Number = 3022 ، ولكن للتأكيد تستطيع جلب قيمة رقم رسالة الخطأ من خلال الفكرة التالية للتأكد :- في زر الحفظ على سبيل المثال ، اكتب في نهاية الكود :- MsgBox Err.Number وعليه اذا حصلت على رقم خطأ مختلف عن 3022 ، فاستبدله و استعمل الكود التالي على سبيل المثال لتغيير رسالة الخطأ :- If Err.Number = 3022 Then MsgBox "سجل مكرر ! لا يمكنك إدخال نفس البيانات مرتين", vbExclamation + vbMsgBoxRight, "تنبيه" Cancel = True Else MsgBox "حدث خطأ", vbCritical + vbMsgBoxRight, "خطأ" End If طبعاً هذا على سبيل المثال لا الحصر ، والكثير من الأفكار قد تعمل نفس النتيجة أخي الكريم ..
  8. مراعاة لسياسة المنتدى ، انصحك بفتح موضوع جديد ، ومتابعين معك إن شاء الله صديقنا . ملاحظة :- ارسل فقط ما له علاقة بالمشكلة ، وليس المشروع كاملاً
  9. هذا يسعدنا ، والحمد لله أولا وآخراً ,, في حال انتهت المشكلة كما أخبرتنا ، لا تنسى ان تقوم بإغلاق الموضوع باختيار .
  10. تقصد وجود الأداة كبرنامج مستقل خارج قاعدة البيانات !!! والإستدعاء يكون لها ( فتحها ) فقط عندما تكون اللغة الإدارية لا تدعم اللغة العربية !!!
  11. اهلاً وسهلاً أستاذنا @ابوخليل ، توجهت لهذه الفكرة كي أجنب المشروع والمبرمج ظهور رسالة عدم التعرف على اللغة العربية للترميز .. ولهذا سيظهر النموذج فقط عندما لا تكون اللغة العربية في الويندوز هي لغة الترميز المعتمدة . وعليه فإنه يمكن للمبرمج في حال كان الويندوز لديه يدعم اللغة العربية ( في اللغة الإدارية ) ان يجعل الإنتقال للكود الخاص به أو نموذج الإفتراضي والرئيسي بدون أي مشاكل .
  12. فعلاً لم أقم بالتجربة ، واعتقدت ان الأمر مشابه للنماذج 😇 . لذا اعتذر عن الإجابة أعلاه 🤗 . مع التنويه أن الأخ @sm44ms لم يأت على ذكر التنفيذ في التقارير .. ❗
  13. سؤال لحضرتك ، لماذا لا تتوجه الى البساطة في تنفيذ أفكارك ؟؟؟؟؟؟؟ أعتقد أنه يوجد أشخاص تعجبهم فكرة معينة في عملك ، ولكن اتجاهك الى الغموض يشتت أفكار بعض الأشخاص للحصول على طلبهم . كما أنه في طريقة شرحك يوجد نوع من عدم الوضوح 😁 . حاول تبسيط الأمور في حروفك حتى يستفاد من طرحك وأفكارك 😇 .
  14. وعليكم السلام ورحمة الله تعالى وبركاته ،، من فكرة مقتبسة من موضوع آخر ، جرب هذه الفكرة . بحيث من خلال الزر Btn_RefreshLinks على سبيل المثال ، يقوم بمهمة تحديث الجداول بشكل تلقائي SQL Server . Private Sub Btn_RefreshLinks_Click() Dim db As Database Dim tdf As TableDef Set db = CurrentDb For Each tdf In db.TableDefs If tdf.Connect <> "" Then On Error Resume Next ' محاولة تحديث الجدول المرتبط tdf.RefreshLink If Err.Number <> 0 Then MsgBox "حدث خطأ في تحديث الجدول : " & tdf.Name, vbExclamation Err.Clear End If On Error GoTo 0 End If Next tdf MsgBox "تم تحديث جميع الجداول المرتبطة بنجاح", vbInformation End Sub لم أقم بتجربة الكود ، ولكن أخبرني بالنتيجة لعدم توافر قاعدة SQL Server لدي 🤗 .
  15. وعليكم السلام ورحمة الله تعالى وبركاته ،، تعديل بسيط في جملة If لتشمل ثلاث حالات Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) Dim x, y, rid As Single x = Me.ruslt.Left + Me.ruslt.Width / 2 y = Me.ruslt.Top + Me.ruslt.Height / 2 rid = Me.ruslt.Width / 2 If Me.ruslt = "(غ)" Or Me.ruslt = "له برنامج علاجي" Or Me.ruslt = "لها برنامج علاجي" Then Me.FillColor = RGB(238, 198, 211) Me.FillStyle = 0 Me.Circle (x, y), rid, RGB(256, 0, 0), , , 0.2 End If End Sub جرب وأخبرني بالنتيجة
  16. بما انني ابتعدت عن الكمبيوتر ، جرب هذا التعديل ، اولاً على دالة المديول :- Public Sub ExportReportToPDF(rptName As String, fileName As String) On Error Resume Next Dim pdfPath As String pdfPath = CurrentProject.Path & "\" & fileName & ".pdf" DoCmd.OpenReport rptName, acViewReport, , , acHidden DoCmd.OutputTo acOutputReport, rptName, acFormatPDF, pdfPath, False DoCmd.Close acReport, rptName, acSaveNo MsgBox "تم تصدير التقرير بنجاح إلى: " & vbCrLf & pdfPath, vbInformation, "نجاح التصدير" End Sub في زر الـ PDF :- Private Sub Bth_PDF_Click() Dim rptName As String, fileName As String If IsNull(Me.x_tkrer) Or Trim(Me.x_tkrer) = "" Then MsgBox "يرجى اختيار اسم التقرير قبل التصدير.", vbExclamation + vbMsgBoxRight, "" Exit Sub End If Select Case Me.x_tkrer Case "كشف الحوافز": rptName = "rep1" Case "استمارة الصرف": rptName = "rep50" Case Else MsgBox "ليس هناك تقرير بهذا الإسم", vbExclamation + vbMsgBoxRight, "" Exit Sub End Select fileName = Me.x_tkrer DoCmd.OpenReport rptName, acViewReport, , , acHidden ExportReportToPDF rptName, fileName End Sub جرب وأخبرني بالنتيجة 🤗 . طبعاً حسب علمي ، أنه لا يمكن تصدير التقرير في اكسيس دون الحاجة لفتحه حتى لو كان مخفياً ( فتح التقرير في حالة الإخفاء ) .
  17. من الصورة يبدو أن الخطأ ناتج عن عدم ضبط لغة الترميز Unicode الى اللغة العربية في ويندوز ، لذا أنصحك بمراجعة هذا الموضوع هنا 🤗 .
  18. وعليكم السلام ورحمة الله وبركاته ,, في مديول عام ، الصق هذا الكود :- Option Compare Database Option Explicit Public pdfPathGlobal As String Public rptNameGlobal As String Public Sub ExportReportToPDF(rptName As String, fileName As String) On Error Resume Next Dim dialog As FileDialog Dim pdfPath As String Dim db As DAO.Database Set db = CurrentDb Set dialog = Application.FileDialog(msoFileDialogSaveAs) With dialog .title = "حفظ التقرير كملف PDF" .InitialFileName = fileName & ".pdf" .InitialView = msoFileDialogViewDetails If .Show = -1 Then pdfPath = .SelectedItems(1) If LCase(Right(pdfPath, 4)) <> ".pdf" Then pdfPath = pdfPath & ".pdf" End If DoCmd.OutputTo acOutputReport, rptName, acFormatPDF, pdfPath, False MsgBox "تم تصدير التقرير بنجاح كملف PDF", vbInformation + vbMsgBoxRight, "نجاح التصدير" Else db.Execute "DELETE FROM Tbl_Temp", dbFailOnError MsgBox "تم إلغاء عملية التصدير", vbInformation + vbMsgBoxRight, "إلغاء التصدير" DoCmd.Close acReport, rptName End If End With Set dialog = Nothing End Sub ثم في زر جديد كما في المرفق ( تستطيع تغييره كما تريد ) / الصق الاستدعاء كالتالي :- Private Sub Bth_PDF_Click() Dim rptName As String Dim fileName As String If IsNull(Me.x_tkrer) Or Trim(Me.x_tkrer) = "" Then MsgBox "يرجى اختيار اسم التقرير قبل التصدير.", vbExclamation + vbMsgBoxRight, "" Exit Sub End If Select Case Me.x_tkrer Case "كشف الحوافز" rptName = "rep1" Case "استمارة الصرف" rptName = "rep50" Case Else MsgBox "ليس هناك تقرير بهذا الإسم", vbExclamation + vbMsgBoxRight, "" Exit Sub End Select fileName = Me.x_tkrer DoCmd.OpenReport rptName, acViewPreview ExportReportToPDF rptName, fileName End Sub وتستطيع إضافة أكثر من تقرير كما تريد مع استعمال الدالة Case بدلاً من IF الشرطية ... * ملاحظة ,, قم بإضافة المكتبة التالية حسب اصدار الأوفيس لديك :- وهذه فكرتي ، تفضل :- برنامج الحوافز.accdb
  19. تسلم يا صديقي 🤗.. زادكم الله من الصحة والعلم والدين ما ينفعكم في دنياكم 💐
  20. باعتقادي انه يوجد مشكلة في احد اكواد اغلاق قاعدة البيانات ، أو ان البرنامج يقوم بإغلاق قصري لقاعدة البيانات مما ينتج عنه نسخة احتياطية ينتجها اكسيس محاولة لعدم تلف قاعدة البيانات الأصلية .. وعلى العموم ، لمعلومات أشمل وأفكار أخرى ، تابع هذا الموضوع:-
  21. يا صديقي ، وما علاقة التقرير في إدراج صورتين فوق بعضهما ؟؟؟؟ الفكرة كما أوضحها الأستاذ @Moosak هي صورتين فوق بعضهما البعض!!!!!👏🏻
  22. قد أتيت به فعلاً .. و والله لضيق الوقت لم استطع رفع الملف .. Desktop.zip
  23. أرجو أن تأخذ كلامي برحابة الصدر ، و والله إن الهدف هو التوجيه لما قد تغفل عنه .. كل الشكر والإحترام لشخصكم الكريم
  24. خطوات الاستخدام بإذن الله تعالى بسيطة ، كما في الصورة السابقة ، أما فيما يخص الـ API فجاري ضبط الخطوات بدقة وسهولة ضمن الزر المخصص للإستيراد من جوجل شيت ، ودمج الأكواد للوظائف الثلاثة في نموذج واااااحد إن شاء الله 😉 .
×
×
  • اضف...

Important Information