jandbi قام بنشر يناير 14, 2016 قام بنشر يناير 14, 2016 (معدل) السلام عليكم .. قمت بعمل شريط ادوات خاص للتقارير وارفقته بقاعدة بياناتي .. عند محاولة طباعة التقرير المفتوح يقوم بطباعة التقرير والنموذج المفتوح ايضاً ..!؟ علماً أني معدل خصائص النموذج والتقرير : منبثق ومشروط الى ( نعم ) وهذا كود لطباعة التقرير داخل زر الادوات DoCmd.RunCommand acCmdPrint اين المشكلة ؟! تم تعديل يناير 14, 2016 بواسطه jandbi
أبو عبدالله الحلوانى قام بنشر يناير 14, 2016 قام بنشر يناير 14, 2016 وعليكم السلام ورحمة الله وبركاته جرب هذا الكود: Docmd.OpenReport "RepName", acViewNormal طبعا ستستبدل كلمة "RepName" باسم التقرير الخاص بك وافنا بالنتيجة
jandbi قام بنشر يناير 14, 2016 الكاتب قام بنشر يناير 14, 2016 اعرف هالكود .. لكن انا ذكرت سابقاً ان الكود موضوع داخل شريط ادوات تقرير ( مثل ما هو موجود بالصورة ) فيطبع التقرير المفتوح بغض النظر عن اسمه وهذه الاكواد موجودة في وحدة نمطية Option Compare Database Public Function ShowPrintDialog() On Error Resume Next DoCmd.RunCommand acCmdPrint End Function Public Function Print2sides() DoCmd.PrintOut acPages, 1, 1, acHigh, 1, True If MsgBox("اقلب الورقة لطباعة الصفحة الثانية", vbOKOnly, "") = vbOK Then DoCmd.PrintOut acPages, 2, 2, acHigh, 1, True Else DoCmd.PrintOut acPages, 2, 2, acHigh, 1, True End If End Function Public Function PrintCurrentPage() On Error GoTo طباعة_Err Dim CurrentPage CurrentPage = Screen.ActiveReport.Page DoCmd.PrintOut acPages, CurrentPage, CurrentPage, acHigh, 1, False طباعة_Exit: Exit Function طباعة_Err: MsgBox Error$ Resume طباعة_Exit End Function Public Function PrintRangePage() Dim StartRangePage, EndRangePage 10 StartRangePage = InputBox("أدخل بداية الصفحات التي تريد طباعتها :", "طباعة نطاق صفحات") EndRangePage = InputBox("أدخل نهاية الصفحات التي تريد طباعتها :", "طباعة نطاق صفحات") If IsNumeric(StartRangePage) = False Or IsNumeric(EndRangePage) = False Then If MsgBox("إما رقم بداية الصفحات أو رقم نهاية الصفحات غير صالح ." & vbCrLf & vbCrLf _ & "هل ترغب في إعادة المحاولة ؟", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "إدخال خاطئ") = vbYes Then GoTo 10 Else Exit Function End If End If If EndRangePage < StartRangePage Then MsgBox "رقم نهاية الصفحات أصغر من رقم البداية .", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading Exit Function End If DoCmd.PrintOut acPages, StartRangePage, EndRangePage, acHigh, 1, False End Function Public Function ExportPDF() On Error Resume Next DoCmd.OutputTo acOutputReport, , acFormatPDF, , False, , , acExportQualityPrint End Function Public Function ExportExcel() On Error Resume Next DoCmd.OutputTo acOutputReport, , acFormatXLS, , False, , , acExportQualityPrint End Function Public Function CloseReport() Do While Reports.Count > 0 DoCmd.Close acReport, Reports(0).name Loop End Function عند الضغط على طباعة الكل << يطبع النموذج المفتوح بالاضافة الى التقرير ShowPrintDialog() عند الضغط على طباعة الصفحة الحالية << يطبع النموذج فقط بدون التقرير PrintCurrentPage() عند الضغط على طباعة على وجهين << يطبع النموذج المفتوح بالاضافة الى التقرير Print2sides()
أبو عبدالله الحلوانى قام بنشر يناير 14, 2016 قام بنشر يناير 14, 2016 1- أفهم من كلام حضرتك أنه توجد عدة تقارير مفتوحة بوقت واحد لذا أنت لا تريد تحديد اسم التقرير بكل مرة للطباعة اذا كان الأمر كذلك أرجو الاجابة بنعم أو لا. 2- ماذا تعنى رسالة اقلب الصفحة ... صفحة التقرير! أم الورقة بمكينة الطباعة!
jandbi قام بنشر يناير 14, 2016 الكاتب قام بنشر يناير 14, 2016 1. يوجد تقرير واحد فقط في كل مرة 2. تعني المستخدم يقوم بقلب الورقة في الطابعة بعد طباعة الوجهة الاول وبعد الضغط على زر موافق يطبع الصفحة الثانية
أبو عبدالله الحلوانى قام بنشر يناير 16, 2016 قام بنشر يناير 16, 2016 ممكن مثال بسيط لنتمكن من التعديل عليه لو سمحت
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.