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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    226

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

  1. العفو أخي أسعد .. وإياكم أخي ، ولكم بمثل ما دعيتم
  2. أهلاً أخي أحمد .. الحل يسير إن شاء الله تعالى .. قبل أمر الطباعة في الدالة ExportToPDF_SmartPrinter .. فقط كل ما عليك هو نقل التركيز الى التقرير . بحيث قم بإضافة السطر التالي قبل أمر الطباعة . DoCmd.SelectObject acReport, reportName, False يصبح الكود كالتالي :- Public Function ExportToPDF_SmartPrinter() Dim reportName As String Dim defaultPrinter As String Dim prt As Printer Dim pdfPrtName As String On Error Resume Next reportName = Screen.ActiveReport.Name If Err.Number <> 0 Then MsgBox "لا يوجد تقرير نشط", vbExclamation + vbMsgBoxRight, "" Exit Function End If On Error GoTo 0 pdfPrtName = "" For Each prt In Application.Printers If InStr(1, prt.DeviceName, "PDF", vbTextCompare) > 0 Or _ InStr(1, prt.DeviceName, "Cute", vbTextCompare) > 0 Or _ InStr(1, prt.DeviceName, "Foxit", vbTextCompare) > 0 Then pdfPrtName = prt.DeviceName Exit For End If Next prt If pdfPrtName = "" Then MsgBox "لم نتمكن من العثور على طابعة افتراضية وهمية في نظامك" & vbCrLf & vbCrLf & _ "يرجى تثبيت طابعة مجانية على الويندوز مثل بي دي إف فاكتوريً", vbCritical + vbMsgBoxRight, "" Exit Function End If defaultPrinter = Application.Printer.DeviceName Set Application.Printer = Application.Printers(pdfPrtName) DoCmd.SelectObject acReport, reportName, False DoCmd.PrintOut acPrintAll Set Application.Printer = Application.Printers(defaultPrinter) End Function جرب بنفسك وأخبرني
  3. أخي أسعد ، أكيد يمكن تحقيق مطلبك بسهولة .. تابع معي :- سنقوم بإضافة تجميع جديد لنفس الحقل alsaf_Id الموجود أساساً في ملفك . وهنا سيكون لديك تجميعين لنفس الحقل ، صحيح ؟؟ وسننقل هذا التجميع الجديد ليكون أول تجميع كما في الصورة :- لاحظ انه يوجد تجميعين لنفس الحقل . وهنا نركز قليلاً .. في المجموعة الأولى التي أضفناها وسحبناها لأعلى سلسلة التجميع ، سنقوم بسحب العناصر الخاصة باسم الصف الى القطاع الخاص بها ، ونقوم بتصغير رأس الصفحة الذي أصبح فارغاً ، وسنجعل للقطاع الخواص التالية :- في مجموعة التجميع القديمة ( التي أصبحت الثانية ) اترك العناصر التي باللون الأزرق كما هي ، ولكن سنغير من خصائص هذا القطاع لتصبح :- وكفى الله المؤمنين القتال ملفك بعد التعديل على النموذج نفسه :- emad4.zip
  4. صديقي يا بشار .. اقرأ هذا الموضوع أولاً ولاحظ انه تم الاستغناء عن فكرة القيمة الافتراضية بحقل واحد داخل جدول الاعدادات على سبيل المثال . في النهاية المشكلة ليست في Accde أبداً . المشكلة في طريقة التنفيذ ونوع المطلب 😉
  5. حبيبي يا بشار .. الحمد لله كيف رح تغير القيمة الإفتراضية 😅 اذا وضع التصميم مقفل ؟؟؟ إلا إن كان التغيير برمجياً ودون تحديد قيمة افتراضية داخل خاصية القائمة
  6. وعليكم السلام ورحمة الله وبركاته اسمح لي أخي بشار بسؤالك سؤال واحد .. هل القائمة المنسدلة هذه قيمها ثابتة كما في مثالك ؟؟؟؟ برأيي بما انك حددت قيمة افتراضية = نص = لغة عربية فقد تواجه مشكلة في الأجهزة التي لغة الترميز فيها لا تدعم اللغة العربية . هذا من جهة من جهة أخرى اعتقد أنك لو اسندت القيمة الافتراضية الى قيمة رقمية بحيث :- القائمة المنسدلة تتكون من عامودين . حيث الأول رقم فريد والثاني اسم الصف مثلاً وبالتالي سيكون الرقم 1 = الأول على العموم ملفك يعمل عندي بدون مشاكل :-
  7. شكراً لك مرورك أخي منتصر .. يكفيني اعجابك بكلمة واحدة انتظر التحديثات الجديدة .. قد تعجبك 😉
  8. نرجو رفع الملف مرة أخرى والتحقق من عمله .. لأنه لم يعمل على اكسل 2021
  9. اذا تفضل التعديل على نفس التقرير emad3.zip
  10. حتى اختصر عليك التوضيح قليلاً .. هل هذا ما تريده ؟
  11. وعليكم السلام ورحمة الله وبركاته .. انت كتبت عنوان طلبك .. لكنك لم تقم بالتوضيح أخي الكريم !! يعني مثلاً هل الحجز سيكون من خلال المريض نفسه من موقع مثلاً ولا من كمبيوتر وآكسيس ، ولا من ايه بالضبط !!
  12. أخي أسعد ، خانة الرد هذه تتسع لنص يفوق خيالك ، فلا تبخل علينا بالكلمات اعتبر نفسك تحادثنا من خلال كلماتك = اكتب ما تقوله بصوتك وإن شاء الله توصل الفكرة اللي عندك
  13. يعني انت تريد طباعة أسماء الطلاب الذكور أولا لكل الصفوف وبتسلسل من 1 الى نهاية طلاب الصف الأول والصف الثاني للذكور من 1 الى نهاية طلاب الصف الاني ... وهكذا ثم ينتقل الى الإناث بنفس الطريقة !!!!!!! أم ماذا ؟؟؟
  14. ألف سلامة عليك أخي خليفة .. شافاك الله وعافاك 🤲🏻
  15. وعليكم السلام ورحمة الله وبركاته ممكن توضح أكثر 🤔 مع ارفاق ملف إن أمكن
  16. ولكم بالمثل كما دعوتم أخي أسعد 🥰
  17. وعليكم السلام ورحمة الله وبركاته .. الأمر يسير أخي أسعد إن شاء الله .. تابع معي خطوة بخطوة .. انسخ نسخة من التقرير Rpt_CLASSES1 وأعد تسميته مثلاً Rpt_CLASSES2 انشئ زر جديد في النموذج ليفتح التقرير Rpt_CLASSES2 . DoCmd.OpenReport "Rpt_CLASSES2", acViewPreview الآن لاحظ ما سنفعله في التقرير Rpt_CLASSES2 :- 1. إزالة الشرط من الاستعلام مصدر سجلات التقرير ليصبح :- SELECT DISTINCT Tbl_student.alsaf_Id, Tbl_fsl.fsl, Tbl_student.Studentname, Tbl_student.gender, Tbl_fsl.fsl_id FROM Tbl_student INNER JOIN Tbl_fsl ON Tbl_student.fsl_id = Tbl_fsl.fsl_id; 2. النقطة المهمة وهي إضافة تجميع باستخدام الحقل alsaf_Id ، ونقله الى بداية سلسلة التجميع كما يلي :- وهذا ملفك بعد التعديل :- emad3.zip
  18. البساطة جميلة جداً .. ما شاء الله على الإستغلال لوظائف اكسيس والويندوز
  19. انت بتصعبها علي كده ليه .. طيب علشان ابسطها أكثر .. اعطيني بالارقام على الصورة اللي ارفقتها .. عدد الكشوف = 21 قيمة أول 10 كشوف = 800 قيمة الكشف الواحد = 80 بكده اجمالي قيمة الكشوف حيكون 21 * 80 = 1680 اللي هو في اجمالي قيمة العيادة يومياً .. الآن بما انه عدد الكشوف = 21 = أكبر من 10 يعني للمبنى 800 + ((1680 - 800 ) / 2 ) = 880 اللي هي باقي قيمة الكشوف . وبكدة يكون للمبنى نصيب = 1240 ( صحيح الى هذا الفهم ) طيب لو عدد الكشوف أقل من 10 !!!! احسبهالي انت واعطيني مثال زي كدة . لأني في الأمور المحاسبية فهمي شوي على ما قُسُم 😇
  20. في طلبك الأول وعلى حسب ما فهمت من الشرح ، اكتب هذه المعادلة في خلية ، وشوف النتيجة الرقمية لأي سجل هل هي صحيحة أم لا !! =IF(E3>10, N3 + K3/2 + J3/2 + F3/2, N3 + K3/2) يعني كمثال في الورقة 22/6 . هل النتيجة في خلية الدكتور صحيحة ؟؟؟ أما الطلب الثاني ، فلم أركز به جيداً حتى افهمه بوضوح .. ولكن حاول بعد التحقق من الطلب الأول وصحته ، أن تشرح بوضوح أكثر مطلبك الثاني وخصوصاً عبارة اول 10 كشوف في العيادة
  21. ممكن توضح لي المقصود أخي أسعد !!! حتى لا أتسرع في الفهم وأذهب باتجاه آخر .. يعني لنفترض انك اخترت الصف الرابع ، عاوز تقرير بأسماء جميع الطلاب ولكن بدون تجزئة كل فصل في ورقة منفصلة !!!!
  22. بداية ، اعتقد أخي الكريم أن طريقة العمل التي تعمل عليها غير منطقية أبداً .. أما بخصوص نقل القيمة من المجموع الى اجمالي الفاتورة . فإليك تعديل الجملة السابقة . ولكني أنصحك بمتابعة الموضوع مع أحد الإخوة الذين يتفهمون موضوع البرامج المحاسبية هذه . M - 1.mdb
  23. ما في أي مشكلة اخي الكريم ، يبدو انني نسيت انك تستعمل نموذج فرعي داخل نموذج فرعي آخر داخل نموذج رئيسي 😅.. على العموم استحملني حال وصولي للكمبيوتر وارفق لك التعديل في ملفك.
  24. اذا استخدم الحدث اللي في الزر في مكان آخر. المقصد انسخ السطر وضعه في حدث بعد التحديث لأي مربع نص تريده ان يقوم بتحديث الإجمالي. مع مراعات تبديل ما قبل اشارة = بالعكس ليصبح التحديث من الفرعي 2 الى الفرعي 1 متابع من الجوال
  25. ملاحظة وقبل الذهاب بعيداً .. جرب أولاً تثبيت طابعة افتراضية وهمية على الويندوز 7 . مع تعديل فكرة الكود السابق ليصبح :- Public Function ExportToPDF_SmartPrinter() Dim reportName As String Dim defaultPrinter As String Dim prt As Printer Dim pdfPrtName As String On Error Resume Next reportName = Screen.ActiveReport.Name If Err.Number <> 0 Then MsgBox "لا يوجد تقرير نشط", vbExclamation + vbMsgBoxRight, " Exit Function End If On Error GoTo 0 pdfPrtName = "" For Each prt In Application.Printers If InStr(1, prt.DeviceName, "PDF", vbTextCompare) > 0 Or _ InStr(1, prt.DeviceName, "Cute", vbTextCompare) > 0 Or _ InStr(1, prt.DeviceName, "Foxit", vbTextCompare) > 0 Then pdfPrtName = prt.DeviceName Exit For End If Next prt If pdfPrtName = "" Then MsgBox "لم نتمكن من العثور على طابعة PDF في جهازك" & vbCrLf & vbCrLf & _ "إذا كنت تستخدم ويندوز 7 ، يرجى تثبيت طابعة مجانية مثل (PDFCreator)." & vbCrLf & _ "أما الويندوز 10 فيحتوي عليها مسبقاً", vbCritical + vbMsgBoxRight, "" Exit Function End If defaultPrinter = Application.Printer.DeviceName Set Application.Printer = Application.Printers(pdfPrtName) DoCmd.PrintOut acPrintAll Set Application.Printer = Application.Printers(defaultPrinter) End Function حيث أن الدالة ستتعامل مع البحث عن الطابعات التي يتضمن اسمها PDF - على افتراض أنها طابعة قمت أنت بتعريفها في الويندوز 10 - أو طابعات ناتجة عن برامج مشهورة مثل Adobe PDF أو PDFCreator ... إلخ . لذا جربه وأخبرني بالنتيجة ..
×
×
  • اضف...

Important Information