احمد الحسيني قام بنشر الثلاثاء at 20:00 قام بنشر الثلاثاء at 20:00 السلام عليكم اخوتي الاعزاء... ماهي اعدادات تقرير فاتورة لطابعة حرارية مع التقدير والاحترام
kkhalifa1960 قام بنشر الأربعاء at 07:47 قام بنشر الأربعاء at 07:47 (معدل) 11 ساعات مضت, احمد الحسيني said: اخوتي الاعزاء... ماهي اعدادات تقرير فاتورة لطابعة حرارية 1. إعداد التقرير (Report) في Access أ. إنشاء التقرير: افتح قاعدة البيانات في Access. انتقل إلى تبويب Create > Report Design. صمم التقرير يدويًا أو استخدم Report Wizard لإنشاء فاتورة بسيطة. ب. تخصيص التقرير للطباعة الحرارية: العرض (Width): للطابعات الحرارية (عرض 58 مم أو 80 مم)، اضبط عرض التقرير في Property Sheet (وحدة القياس: سنتمترات أو بوصة😞 58 مم ≈ 2.28 بوصة. 80 مم ≈ 3.15 بوصة. مثال: ' لضبط العرض في كود VBA Reports("InvoiceReport").Width = 3.15 * 1440 ' (البوصة إلى Twips) المحتوى: أضف عناصر التقرير (مربعات النص) للبيانات الأساسية: اسم المتجر، التاريخ، رقم الفاتورة، العناصر، الإجمالي. استخدم خطوطًا بسيطة مثل Arial أو Courier New بحجم مناسب (مثال: 8-10pt للتفاصيل، 12pt للعناوين). 2. إعدادات الطباعة عبر VBA أ. تحديد الطابعة الحرارية: Sub SetThermalPrinter() Dim prt As Printer For Each prt In Application.Printers If prt.DeviceName Like "*Thermal*" Then ' استبدل بـاسم طابعتك Set Application.Printer = prt Exit For End If Next prt End Sub ب. ضبط إعدادات الطباعة: Sub PrintInvoiceReport() ' تعيين الطابعة الحرارية Call SetThermalPrinter ' ضبط إعدادات التقرير قبل الطباعة With Reports("InvoiceReport") .Printer.Orientation = acPortrait ' أو acLandscape إذا needed .Printer.PaperSize = acPRPSUser ' حجم ورقة مخصص .Printer.PaperWidth = 3.15 ' لبوصة (لـ 80 مم) .Printer.PaperHeight = 0 ' طول غير محدود (لفة ورق) End With ' طباعة التقرير DoCmd.OpenReport "InvoiceReport", acViewNormal DoCmd.PrintOut acPrintAll End Sub 3. تنسيق المحتوى للطباعة الحرارية أ. محاذاة النص: اضبط خاصية Text Align في مربعات النص إلى: Right للنصوص العربية. Left للأرقام. مثال لإضافة باركود: ب. إضافة باركود أو QR (اختياري): إذا كانت الطابعة تدعم الباركود، استخدم مكتبة خارجية مثل IDAutomation أو أنشئ صورة باركود في التقرير. ' إدراج صورة باركود في التقرير Me.ImageControl.Picture = "C:\Barcode\INV123.png" 4. قص الورق تلقائيًا (إذا كانت الطابعة تدعمه) بعض الطابعات تقص الورق بأمر ESC/POS. يمكن إرساله عبر VBA إذا كان هناك اتصال مباشر: Sub SendCutCommand() Dim prt As Object Set prt = CreateObject("WinSpool.WinPrinter") prt.DeviceName = "اسم الطابعة الحرارية" prt.Open prt.Write Chr$(29) & Chr$(86) & Chr$(0) ' أمر قص الورق prt.Close End Sub 5. نصائح مهمة اختبار الطباعة: استخدم Print Preview في Access قبل الطباعة الفعلية. تأكد من عدم قطع النصوص عند الحواف. الخطوط العربية: إذا ظهرت النصوص العربية كرموز غير مقروءة، استخدم خطوطًا تدعم Unicode مثل Arial أو Times New Arabic. البيانات الديناميكية: استخدم استعلام (Query) كمصدر بيانات للتقرير لملء الفاتورة تلقائيًا. مثال كامل لفاتورة بسيطة ' إنشاء فاتورة ديناميكية Sub GenerateInvoice() Dim report As Report Set report = CreateReport() ' إضافة عناصر إلى التقرير With report ' عنوان الفاتورة Dim lblTitle As Label Set lblTitle = CreateControl("InvoiceReport", acLabel) lblTitle.Caption = "فاتورة شراء" lblTitle.Top = 100 lblTitle.Left = 500 lblTitle.FontSize = 14 lblTitle.FontBold = True ' تفاصيل الفاتورة Dim txtDetails As TextBox Set txtDetails = CreateControl("InvoiceReport", acTextBox) txtDetails.ControlSource = "SELECT ProductName, Quantity, Price FROM InvoiceDetails" End With ' طباعة الفاتورة DoCmd.OpenReport "InvoiceReport", acViewPreview End Sub باستخدام هذه الإعدادات، يمكنك طباعة فواتير واضحة ومنظمة على الطابعة الحرارية مباشرة من Access VBA. تم تعديل الأربعاء at 07:52 بواسطه kkhalifa1960 التنسيق 2
jjafferr قام بنشر الأربعاء at 15:10 قام بنشر الأربعاء at 15:10 وعليكم السلام اهم شيء في موضوع هذه الطابعات هو ان يكون عندك برنامج تنصيب الطابعة من الشركة ، ولا تعتمد على تعريف الوندوز ، لأنه بعد التنصيب ، يجب عليك عمل بعض التعديلات على اعدادات الطابعة. 1. من صفحة الطابعات ، اختار خصائص الطابعة: . 2. وهنا سأعرض التخصيصات لطابعات مختلفة ، رجاء ملاحظة اسماء الطابعات: . هنا يجب ملاحظة ان بعض الطابعات تقطع الورقة حسب الاعدادات: بعد المستند او بعد كل ورقة . . وبما ان الطابعات الحرارية لا تحتاج الى مسافات/هامش لسحب الورقة ، فالافضل عمل هذا برمجيا : Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) On Error GoTo err_Detail_Format 'set the default printer margins With Application.Printers(0) .TopMargin = 0 .BottomMargin = 0 .LeftMargin = 0 .RightMargin = 0 End With . في التقرير ، وفي وضع التصميم ، اختار الطابعة (سواء بعرض 80مم او 58 مم) ، عليه تستطيع تصميم التقرير/الحقول بالطريقة العادية ، مع مراعاة عرض التقرير (ولا يهم الطول) ، وبالتجربة تستطيع تضبيط التقرير. التقارير بالبوصة (لاحظ العرض) ولا تنسى ان الطابعة تطبع باللون الاسود فقط (او اطياف اللون الرمادي) ، فتأكد من اختيار لون النص وحجمه ، وان الشعار يكون ابيض واسود (واما اذا كان ملون ، فسيتم طباعته باطياف اللون الرمادي). 1 1
ابوخليل قام بنشر الأربعاء at 16:59 قام بنشر الأربعاء at 16:59 1 ساعه مضت, jjafferr said: وعليكم السلام اهم شيء في موضوع هذه الطابعات هو ان يكون عندك برنامج تنصيب الطابعة من الشركة ، ولا تعتمد على تعريف الوندوز ، لأنه بعد التنصيب ، يجب عليك عمل بعض التعديلات على اعدادات الطابعة. مرجع مهم لكل طالب معرفة بالضبط هذا ماكنت اعمله .. الا ان الهوامش ابقيها ثابتة .. اجعلها صفرا من خصائص التقرير نفسه 1
احمد الحسيني قام بنشر الأربعاء at 18:03 الكاتب قام بنشر الأربعاء at 18:03 10 ساعات مضت, kkhalifa1960 said: 1. إعداد التقرير (Report) في Access أ. إنشاء التقرير: افتح قاعدة البيانات في Access. انتقل إلى تبويب Create > Report Design. صمم التقرير يدويًا أو استخدم Report Wizard لإنشاء فاتورة بسيطة. ب. تخصيص التقرير للطباعة الحرارية: العرض (Width): للطابعات الحرارية (عرض 58 مم أو 80 مم)، اضبط عرض التقرير في Property Sheet (وحدة القياس: سنتمترات أو بوصة😞 58 مم ≈ 2.28 بوصة. 80 مم ≈ 3.15 بوصة. مثال: ' لضبط العرض في كود VBA Reports("InvoiceReport").Width = 3.15 * 1440 ' (البوصة إلى Twips) المحتوى: أضف عناصر التقرير (مربعات النص) للبيانات الأساسية: اسم المتجر، التاريخ، رقم الفاتورة، العناصر، الإجمالي. استخدم خطوطًا بسيطة مثل Arial أو Courier New بحجم مناسب (مثال: 8-10pt للتفاصيل، 12pt للعناوين). 2. إعدادات الطباعة عبر VBA أ. تحديد الطابعة الحرارية: Sub SetThermalPrinter() Dim prt As Printer For Each prt In Application.Printers If prt.DeviceName Like "*Thermal*" Then ' استبدل بـاسم طابعتك Set Application.Printer = prt Exit For End If Next prt End Sub ب. ضبط إعدادات الطباعة: Sub PrintInvoiceReport() ' تعيين الطابعة الحرارية Call SetThermalPrinter ' ضبط إعدادات التقرير قبل الطباعة With Reports("InvoiceReport") .Printer.Orientation = acPortrait ' أو acLandscape إذا needed .Printer.PaperSize = acPRPSUser ' حجم ورقة مخصص .Printer.PaperWidth = 3.15 ' لبوصة (لـ 80 مم) .Printer.PaperHeight = 0 ' طول غير محدود (لفة ورق) End With ' طباعة التقرير DoCmd.OpenReport "InvoiceReport", acViewNormal DoCmd.PrintOut acPrintAll End Sub 3. تنسيق المحتوى للطباعة الحرارية أ. محاذاة النص: اضبط خاصية Text Align في مربعات النص إلى: Right للنصوص العربية. Left للأرقام. مثال لإضافة باركود: ب. إضافة باركود أو QR (اختياري): إذا كانت الطابعة تدعم الباركود، استخدم مكتبة خارجية مثل IDAutomation أو أنشئ صورة باركود في التقرير. ' إدراج صورة باركود في التقرير Me.ImageControl.Picture = "C:\Barcode\INV123.png" 4. قص الورق تلقائيًا (إذا كانت الطابعة تدعمه) بعض الطابعات تقص الورق بأمر ESC/POS. يمكن إرساله عبر VBA إذا كان هناك اتصال مباشر: Sub SendCutCommand() Dim prt As Object Set prt = CreateObject("WinSpool.WinPrinter") prt.DeviceName = "اسم الطابعة الحرارية" prt.Open prt.Write Chr$(29) & Chr$(86) & Chr$(0) ' أمر قص الورق prt.Close End Sub 5. نصائح مهمة اختبار الطباعة: استخدم Print Preview في Access قبل الطباعة الفعلية. تأكد من عدم قطع النصوص عند الحواف. الخطوط العربية: إذا ظهرت النصوص العربية كرموز غير مقروءة، استخدم خطوطًا تدعم Unicode مثل Arial أو Times New Arabic. البيانات الديناميكية: استخدم استعلام (Query) كمصدر بيانات للتقرير لملء الفاتورة تلقائيًا. مثال كامل لفاتورة بسيطة ' إنشاء فاتورة ديناميكية Sub GenerateInvoice() Dim report As Report Set report = CreateReport() ' إضافة عناصر إلى التقرير With report ' عنوان الفاتورة Dim lblTitle As Label Set lblTitle = CreateControl("InvoiceReport", acLabel) lblTitle.Caption = "فاتورة شراء" lblTitle.Top = 100 lblTitle.Left = 500 lblTitle.FontSize = 14 lblTitle.FontBold = True ' تفاصيل الفاتورة Dim txtDetails As TextBox Set txtDetails = CreateControl("InvoiceReport", acTextBox) txtDetails.ControlSource = "SELECT ProductName, Quantity, Price FROM InvoiceDetails" End With ' طباعة الفاتورة DoCmd.OpenReport "InvoiceReport", acViewPreview End Sub باستخدام هذه الإعدادات، يمكنك طباعة فواتير واضحة ومنظمة على الطابعة الحرارية مباشرة من Access VBA. شكرا جزيلا استاذ... جزاك الله كل الخير منذ ساعه, ابوخليل said: مرجع مهم لكل طالب معرفة بالضبط هذا ماكنت اعمله .. الا ان الهوامش ابقيها ثابتة .. اجعلها صفرا من خصائص التقرير نفسه شكرا جزيلا استاذ... جزاك الله كل الخير
jjafferr قام بنشر الأربعاء at 19:00 قام بنشر الأربعاء at 19:00 1 ساعه مضت, ابوخليل said: بالضبط هذا ماكنت اعمله .. الا ان الهوامش ابقيها ثابتة .. اجعلها صفرا من خصائص التقرير نفسه هي كذلك الهوامش ابقيها ثابتة .. اجعلها صفرا من خصائص التقرير نفسه ، ولكني اذكر واجعتني مشكلة فاضطررت الى كتابتها في الكود كذلك ، وفي تقرير آخر ، مع ان اسم الخط تم اختياره من خصائص واعدادات التقرير ، إلا انه في الطباعة كان يظهر الخط الافتراضي ، فكتبت اسمه في الكود ، وتم حل المشكلة 🙂 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.