اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

kkhalifa1960

الخبراء
  • Posts

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

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

  • Days Won

    51

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

  1. 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.
  2. FirstOfmgmo: IIf([Forms]![frm_Reports]![termNum]=1,([qry_master].[FirstOfmgmo1]),IIf([Forms]![frm_Reports]![termNum]=2,([qry_master].[FirstOftotal]),([qry_master].[FirstOfdegExam2]))) طالع (Query1) بالمرفق والشرح . DD_2SAAD_TEST.rar
  3. كل عام وجميع منتسبي منتدانا الغالي (أوفيسنا) بخير وصحة وعافية أعاده الله علينا وعليكم وعلى أمتنا الاسلامية بالخير واليمن والبركات.
  4. تفضل استاذ @خالد جميل طلما طلبت اقصى تقدير 5 فواتير . اليك مرفق جديد وعند فتحه يوجد زر اسمه اقرأني أولاً . ووافني بالرد . وعيد اضحى مبارك على الجميع . MultiInvoic - PopUp.rar
  5. واضح انك لديك فكرة معينة .... لكن بهذا البرنامج افتح أي عدد من الفواتير بواسطة الزر اضافة جديد ثم تنقل بينهم بواسطة الكمبوبكس لاضافة المنتجات أول للتعديل كما شئت وانا موضح ذلك بالشرح . أما غير ذلك كما قال معلمنا استاذ @ابوخليل ....... اذكر أقصى عدد للفواتير التي يمكنك فتحها على الشاشة
  6. تفضل استاذ @خالد جميل هذا مشروع من عندي حتى لا ألخبط عملك ولكي يتم فتح أي فاتورة والتعديل عليها أو اضافة عنصر جديد . اليك المرفق والشرح . ووافني بالرد . DMultiInvoice.rar
  7. مشاركة مع اخي @Foksh تفضل استاذ @2saad طلبك حسب مافهمت .ووافني بالرد . Data21-1.rar
  8. تفضل استاذ @الميزار طلبك بعد التعديل . ووافني بالرد . Miraz-1.rar
  9. بعد اذن استاذي @ابوخليل تفضل استاذ @الميزار طلبك حسب مافهمت . لكن انا زودت فولدر بجوار القاعدة (MyBooks) للناتج بعد التصدير . افتح الملف بتحصل كل طالب بورقة منفصلة اليك المرفق . ووافني بالرد . Miraz.rar
  10. اخي الفاضل استاذ @منير ربيع هنا منتدى الاكسس فهل انت تريد منتدى الاكسل من هنــــــــــــــــا . أم تحويل مشروعك لأكسس .
  11. مشاركة مع زملائي واحبتي تفضل استاذ @عاشق_الرقي محاولتي حسب مافهمت . نموذج تغيير الشعارات (frm_Logos) وكيفية استدعائهم بالنموذج (frm_Office_Data) والتقرير (Rpt_OfficeData). تفضل المرفق واذا حابب أي شئ زيادة انا حاضر . DDCompanyLogos.rar
  12. تفضل اساذ @medolovekiri محاولة أخرى كما في الصورة أعلاه حسب ما فهمت مطبقاً على مرفق من عندي . اليك الشرح والمرفق .ووافني بالرد . DDMedoLoveKiri-2.rar
  13. تفضل اساذ @medolovekiri محاولتي حسب ما فهمت مطبقاً على مرفق من عندي . اليك الشرح والمرفق . اما غير ذلك فلابد ارسال ماعندك من جداول ونماذج لنساعدك أكثر . DDMedoLoveKiri.rar
  14. أولاً :- تمنياتي لأستاذنا ابوجودي الشفاء العاجل باذن الله . ثانياً :- 📌 هذا مرجع دوال VBA المتوافقة مع النواتين (32 بت و64 بت) هذا المرجع يحتوي على جميع الدوال الشائعة التي يمكن استخدامها في VBA داخل Access، مع دعم للنواتين 32 بت و64 بت باستخدام #If VBA7 Then. 🔹 1- دوال استدعاء Windows API #If VBA7 Then Public Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As Long, lParam As Any) As Long #Else Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #End If SendMessage – إرسال رسائل للنوافذ داخل النظام. PostMessage – إرسال رسائل غير متزامنة. FindWindow – العثور على نافذة بناءً على عنوانها. ShowWindow – التحكم في عرض أو إخفاء النافذة. GetSystemMetrics – الحصول على معلومات حول إعدادات النظام. 🔹 2- دوال التعامل مع الملفات #If VBA7 Then Public Declare PtrSafe Function CopyFile Lib "kernel32" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #Else Public Declare Function CopyFile Lib "kernel32" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #End If CopyFile – نسخ ملف من موقع إلى آخر. DeleteFile – حذف ملف معين. FindFirstFile – البحث عن أول ملف يتطابق مع نمط معين. FindNextFile – البحث عن الملفات التالية بنفس النمط. 🔹 3- دوال النظام (System Functions) #If VBA7 Then Public Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long #Else Public Declare Function GetTickCount Lib "kernel32" () As Long #End If GetTickCount – الحصول على عدد الثواني منذ تشغيل النظام. GetWindowsDirectory – استرجاع مسار مجلد Windows. GetSystemMetrics – استرجاع بيانات عن إعدادات النظام. 🔹 4- دوال إضافية مفيدة #If VBA7 Then Public Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As Any) As Long #Else Public Declare Function GetCursorPos Lib "user32" (lpPoint As Any) As Long #End If GetCursorPos – الحصول على موقع مؤشر الفأرة. SetCursorPos – تعيين موقع جديد لمؤشر الفأرة. GetActiveWindow – استرجاع النافذة النشطة حاليًا. GetDesktopWindow – استرجاع نافذة سطح المكتب الرئيسية.
  15. اعتقد بعد هذه الكوكبة من علمائنا الافاضل ..... وفي هذا الموضوع المهم والحيوي واقتراب موعد عدم اثراء أي برامج تعتمد عى 32 بت ...... وحتى تحصين برامجنا التي نعمل عليها . لابد من مناقشتها وهنا فرصة عظيمة لذلك . ولكي تتم المناقشة لابد من مشاركة مهندسنا (أبو جودي) الذي نأمل أن يشاركنا في هذا الطرح . تحياتي للجميع .
  16. تفضل التقرير حسب ماطلبت مع العلم هذا أخر مالديا بالنسبة للجداول لأني ما أقدر أعيد برمجة البرنامج ككل . تمنياتي لك بالتوفيق . DDFinding Differences-FINAL_8.rar
  17. تم اضافة جدول جديد (tbl_EmpInfo) جدول معلومات الموظفين الجدد وعمل نموذج لإدخال المعلومات . وذلك لعدم المساس بالجدولين (T1) و(T2) . لأنهم جداول العمليات وداخلين بالبرمجة . وتفضل الشرح والمرفق . DDFinding Differences-FINAL_7.rar تصبح على خير وباكر انشاء الله نكمل اذا كان في طلب جديد .
  18. تفضل التصحيح وجربته ويعمل تمام . DDFinding Differences-FINAL_6.rar
  19. تفضل استاذ @RAIANESAMI . اليك المرفق والشرح بعد اضافة طلبك . تم اضافة الحقل (FileNO) رقم العملية وهو يعد العمليات لكل موظف بدون تدخل منك. جرب بالرد . DDFinding Differences-FINAL_5.rar
  20. تفضل استاذ @RAIANESAMI طالع الشرح السابق . اليك المرفق بعد اضافة طلبك . جرب ووافني بالرد . واذ كان هذا طلبك لا تنسى الضغط على تمت الاجابة حتى يستفيد غيرك DDFinding Differences-FINAL_4.rar
  21. تفضل استاذ @RAIANESAMI . اليك المرفق بعد اضافة طلبك . جرب ووافني بالرد . واذ كان هذا طلبك لا تنسى الضغط على تمت الاجابة حتى يستفيد غيرك DDFinding Differences-FINAL_3.rar
  22. اذهب هنـــــــا وسجل فهو مجاني واسألهم كما شئت .بتحصل اجابات ستعجبك لأني سألتهم سؤالك فحصلت عدة طرق انت اسألهم وكمل معاهم .
×
×
  • اضف...

Important Information