عبدالله المجرب قام بنشر يونيو 27, 2012 قام بنشر يونيو 27, 2012 السلام عليكم عندي برنامج لطلبات الموظفين (حجمه كبير وبه بيانات خاصة*) لم استطع ارفاقه === في البرنامج فورم البيانات وسابفورم بالتفاصيل ومشروطة بان يكون التاريخ هو تاريخ اليوم ليتم عرض الطلب في التقرير الذي سيطبع في الفورم زر طباعة الطلب (تقرير) هذا كود الزر Private Sub Command18_Click() On Error GoTo Err_Command18_Click Dim MyRptName As String MyCriteria = "[الرقم]=" & Me![frmDetailsubform]![الرقم] MyRptName = "rptRequests" DoCmd.OpenReport MyRptName, acNormal, , MyCriteria Exit_Command18_Click: Exit Sub Err_Command18_Click: MsgBox Err.Description Resume Exit_Command18_Click End Sub بهذا الكود كان يتم طباعة الطلب الخاص بالموظف فقط بناء على رقمه اذا كان الطلب مكتوب بتاريخ اليوم الى هنا البرنامج يعمل بشكل جيد جداً وحسب المطلوب لكن بعد متابعتي لموضوع الاستاذ نارت بخصوص اختيار الطابعة الخاصة بالطباعة http://www.officena.net/ib/index.php?showtopic=41998&hl= ولحاجتي لجعل خيار اختيار الطابعة (من مربع تحرير وسرد) قمت بعمل الكود بهذه الطريقة بعد ان اضفت مربع تحرير وسرد يتم عرض فية اسماء الطابعات الموجودة Private Sub Command18_Click() Dim MyRptName As String MyCriteria = "[الرقم]=" & Me![frmDetailsubform]![الرقم] MyRptName = "rptRequests" DoCmd.OpenReport MyRptName, acViewDesign, Null, MyCriteria, acHidden Dim oRpt As Report Set oRpt = Reports(0) oRpt.UseDefaultPrinter = False oRpt.Printer = Application.Printers((Me.cboPrinter)) DoCmd.OpenReport MyRptName, acViewNormal, , MyCriteria DoCmd.Close acReport, MyRptName, acSaveYes Set oRpt = Nothing Exit_Command18_Click: Exit Sub Err_Command18_Click: MsgBox Err.Description Resume Exit_Command18_Click End Sub لكن للاسف فقد ميزة طباعة التقرير بشرط الرقم الوظيفي واصبح يطبع في الطابعة المختارة كل طلبات تاريخ اليوم الحالي فما الحل اخواني الكرام
محمد ايمن قام بنشر يونيو 27, 2012 قام بنشر يونيو 27, 2012 اخي عبد الله هل تستطيع حذف البيانات و ارسال المرفق بصراحة لم اتعامل مع النماذج الفرعية من قبل
ابوخليل قام بنشر يونيو 27, 2012 قام بنشر يونيو 27, 2012 نرجو من الله ان يكون اخي الحبيب واستاذي الفاضل " ابو آدم " بخير وان يديم عليه وعلينا النعم . اخي العزيز عبدالله ارى الا تغير في كود زر الطباعة فما دمت قد طبقت الدرس وخرجت معك الطابعات في مربع التحرير فيكفي الى هذا الحد فلست بحاجة الى تخصيص لكل تقرير طابعة . وانما يقوم بالامر لو غيرت الطابعة الافتراضية للجهاز حسب الاختيار من مربع التحرير بمعنى ان الطابعة الافتراضية تتغير تبعا لما يتم اختياره في مربع التحرير ما رأيك ؟
عبدالله المجرب قام بنشر يونيو 27, 2012 الكاتب قام بنشر يونيو 27, 2012 شكرا لاخي محمد ايمن مشاركته الاستاذ الفاضل ابوخلبل شكرا لك على المداخلة القيمة رايك سديد واطلب منك اذأ تكرمت ان تضيف الى الكود الاول ان تتم الطباعة من الطابعه المختارة في مربع التحرير والسرد ********** بالمناسبة حاولت الاطمئنان على الاستاذ ابو ادم فلم احظى الا برسلتين تطمننا عليه نسال الله ان يمن عليه بالصحة والعافية
ابوخليل قام بنشر يونيو 27, 2012 قام بنشر يونيو 27, 2012 اولا : الصق هذا السطر في اعلى صفحة محرر الفيجوال الخاص بالنموذج Private Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Long ثم في حدث بعد التحديث لمربع التحرير الصق هذا السطر SetDefaultPrinter (Me.cboPrinter)
عبدالله المجرب قام بنشر يونيو 27, 2012 الكاتب قام بنشر يونيو 27, 2012 سوال هل بعد الخروج من البرنامج ستبقى نفس الطابعة كافتراضية ام ان الطابعة الاولى هي الافتراضية و لن تتغير
ابوخليل قام بنشر يونيو 27, 2012 قام بنشر يونيو 27, 2012 طبعا ستبقى حسب آخر اختيار ويمكنك تحديد طابعة افتراضية معينة عند اغلاق النموذج ( البرنامج) فنكتب عند حدث اغلاق النموذج السطر التالي SetDefaultPrinter ("hp LaserJet 1000") ما بين القوسين هو اسم الطابعة التي امامي الآن هذا للعلم فقط حيث لا يتصور ان تكتب اسم الطابعة داخل المحرر ، حيث ان هذه الاجهزة غير ثابتة فقد تتغير وتستبدل في اي لحظة
عبدالله المجرب قام بنشر يونيو 28, 2012 الكاتب قام بنشر يونيو 28, 2012 طبعا ستبقى حسب آخر اختيار ويمكنك تحديد طابعة افتراضية معينة عند اغلاق النموذج ( البرنامج) فنكتب عند حدث اغلاق النموذج السطر التالي SetDefaultPrinter ("hp LaserJet 1000") ما بين القوسين هو اسم الطابعة التي امامي الآن هذا للعلم فقط حيث لا يتصور ان تكتب اسم الطابعة داخل المحرر ، حيث ان هذه الاجهزة غير ثابتة فقد تتغير وتستبدل في اي لحظة الحمدلله تم حل المشكلة بفضل الله ثم بتوجيه الاستاذ ابو خليل للفائدة قمت بعمل مربع نص (مخفي) يتم وضع فية اسم الطابعة الأفتراضية (تم الاستفادة من موضوع الاستاذ نارت المشار اليه سابقاً) عند تحميل النموذج وعند الخروج من النموذج يتم استعمل هذا الاسم ليكون هو الطابعة الأفتراضية ========= كل الشكر للاستاذ خليل على افكارة القيمة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.