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

الردود الموصى بها

قام بنشر
5 ساعات مضت, منتصر الانسي said:

لو كان بإمكان الأخ @Foksh إضافة هذه الخيارات كمعلمة لإختيار أحدها وتنفيذ الأمر مباشرة سيكون أفضل

تفضل اخي منتصر .. التعديلات التي تمت :-

  • الدالة DrawAndSaveBarcode أصبحت :-
Public Sub DrawAndSaveBarcode(txt As TextBox, img As Image, barcodeType As String, Optional bVertical As Boolean = False)
    Dim saveDir As String
    Dim fullPath As String
    Dim parentReport As Report
    Dim saveMode As String
    Dim shouldSave As Boolean

    On Error Resume Next
    Set parentReport = img.Parent
    If parentReport Is Nothing Then Set parentReport = img.Parent.Parent
    On Error GoTo 0

    saveMode = "NoSave"
    If Not parentReport Is Nothing Then
        saveMode = Nz(parentReport.OpenArgs, "NoSave")
    End If

    shouldSave = False
    If saveMode = "SaveAll" Or saveMode = "SavePage" Then
        shouldSave = True
    End If

    If shouldSave Then
        saveDir = CurrentProject.Path & "\QRImg\"
        If Dir(saveDir, vbDirectory) = "" Then MkDir saveDir
        fullPath = saveDir & barcodeType & "_" & txt.Value & ".bmp"
    Else
        fullPath = ""
    End If

    If LCase(barcodeType) = "qr" Then
        Call drawQuickResponseToImage(txt, img, savePath:=fullPath)
    ElseIf LCase(barcodeType) = "code128" Then
        Call drawCode128(txt, img, , bVertical, savePath:=fullPath)
    End If
End Sub
  • الإستدعاءات في الأزرار أصبحت :-

 

Private Sub cmdOpenWNavSave_Click()
    DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , , "SavePage"
End Sub

Private Sub cmdOpenWOSave_Click()
    DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , , "NoSave"
End Sub

Private Sub cmdOpenWSave_Click()
    DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , , "SaveAll"
End Sub

Private Sub cmdSave_Click()
    DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , acHidden, "SaveAll"
    DoCmd.Close acReport, "rpt_BG_img_Barcode", acSaveNo
    MsgBox "بنجاح QRImg تم توليد وحفظ جميع الصور في مجلد", vbInformation + vbMsgBoxRight, ""
End Sub
  • وفي التقرير أصبحت التمرير كالآتي :-
Private Sub Report_Open(Cancel As Integer)
    On Error Resume Next
    If Nz(Me.OpenArgs, "") = "SaveAll" Then
        Me.TxtPages.ControlSource = "=[Pages]"
    Else
        Me.TxtPages.ControlSource = ""
    End If
    On Error GoTo 0
End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    Call DrawAndSaveBarcode(Me.FieldCode128, Me.ImgQR4, "Code128")
    Call DrawAndSaveBarcode(Me.FieldCode128, Me.ImgQR5, "Code128", True)
    Call DrawAndSaveBarcode(Me.FieldQRCode, Me.ImgQR2, "QR")
End Sub


أتمنى أن يلبي ها التعديل المطلوب . طبعاً بالإستعانة بنموذجك أخي منتصر 😉 .

 

 


 

QR_Barcode - 5.accdb

  • Like 1
  • Thanks 1
قام بنشر
16 ساعات مضت, Foksh said:

يعني انت تريد تنظيف الأكواد من الاعتماد على Tag كلياً ؟

فقط سنقوم بإزالة الجملة الشرطية التي تختص بالـ Tag ، من المديول ModulQRCode

شكرا جزيلا

لاحظت ، هذه المرة تم تعبئة كائن الصورة بخطوط اثخن.

انا استخدم قراءة الباركود من الشاشة بواسطة الموبايل فقط للتأكد ان القيمة صحيحة ،

وللتأكد النهائي ، فاني ارسلها لأحد المؤسسات حتى يطبعوها على الهوية البلاستيك بأبعادها الحقيقية والباركود بالحجم المناسب ، ثم نقارن حجم النتيجة الحالية بحجم النتيجة الاصلية التي لدينا ، والاهم هو نتائج سرعة قراءة الباركود. طبعنا حسب كود مرفقك السابق والنتيجة كانت ممتازة ، وسنطبع اعتقد غدا ان شاء الله نتائج هذه المرفق QR_Barcode-3 ان شاء الله واوافيك بالنتيجة

  • Like 1
قام بنشر
14 ساعات مضت, منتصر الانسي said:

هذا يمكن حله بتعديل خاصية Size Mode للصورة بدل Zoom إجعلها Stretch

انا اجرب قبل ان اضع رد 🙂

عندنا كائن الصورة في التقرير والذي به يمكن عمل تعديل الخاصية كما تفضلت ، ولكن هذا يعتمد 100% على الصورة نفسها ، ولكن هذه المسافة البيضاء هي جزء من الصورة ، فلا تصلح الخاصية ، ولا يمكنك محاذات الصورة في الكائن ايضا ، لان العيب في الصورة.

 

وفكرة ممتازة في تقسيم العمل حسب حاجة المستخدم ، وتقليل وقت التنفيذ 🙂

قام بنشر
12 ساعات مضت, أبو عبدالله الحلوانى said:

الفكرة هو تحويل الكتابة من التقرير الي الكتابة علي كائن صورة

وعليكم السلام

البعض قد يعتقد ان طلباتي كثيرة ، ولكني اضطر لهذه الطلبات حتى يكون المنتج النهائي خالد لأعوام وعقود.

فيه تراود افكار بين فكرتك وبين احد طلباتي من الاخ فادي ، والذي قام مشكورا وقام بالعمل بطريقة ناجحة. ولكن هذا لا يمنع الآخرين من خوض نفس الفكرة ولكن بكود آخر.

 

مرفقك يعطي التقرير الاول المفرد , وعند طلب الصفحة التالية حصلت على هذا الخطأ:

image.png.fe993ddcab425734e76ca2790b8f8b51.png

.

وفي الواقع هذا الخطأ يظهر اذا كان هناك اكثر من سجل

 

قام بنشر
9 ساعات مضت, jjafferr said:

ولكن هذه المسافة البيضاء هي جزء من الصورة

بالعكس لو قمت بفتح الصورة ستجدها لاتحتوي على هوامش

Animation3.thumb.gif.5fb1ecc58eb4cf3ad40a07d876e85aab.gif

هذا هو الوضع عندي لصورتين في نفس التقرير لهما نفس الأبعاد (عرض وإرتفاع) ولكن الأولى قيمة الخاصية فيها هي Zoom والأخرى Stretch

(قمت بإبراز الإطار للتوضيح)

Untitled.jpg.0a1cbdcea217ce13cb77804eae180554.jpg

وللتأكيد قمت بتطبيق هذا على الحل المقدم من الأخ @أبو عبدالله الحلوانى ,لكن ولأن الكود نفسه يقوم بإضافة هوامش حول الرسم فستلاحظ أن الإطار الأبيض حول الكود يختلف بين الصورتين لكنه موجود

Untitled2.jpg.ea1219784ea9297d803c826084255397.jpg

وبعد تعيين الهوامش على القيمة صفر ستظهر بهذا الشكل

Untitled3.jpg.629d1dbfacc412e10aab442f52e3a2fe.jpg

وبصراحة لاأدري لماذا لم تنجح الفكرة لديك وحتى عند الأخ @Foksh  كما سبق ورد انها لم تنجح معه ولكني وضحت لكم وبالصور نجاح الفكرة 

في الأخير أود التنويه إلى الحل المقدم من الأخ @أبو عبدالله الحلوانى فهو حل أراه مثيراً للإهتمام فقد توصل إلى نفس النتائج ولكن بدون إستخدام وحدة الكلاس والحقيقة كنت أود معرفة الرأي الفني من الأخ @Foksh عن الفرق بين الطريقتين من حيث الأداء وإستهلاك الموارد فهو أستاذ في هذه الأمور

تحياتي

قام بنشر
منذ ساعه, منتصر الانسي said:

أود معرفة الرأي الفني من الأخ @Foksh عن الفرق بين الطريقتين من حيث الأداء وإستهلاك الموارد فهو أستاذ في هذه الأمور

😮 رأيي الفني 😅!!

فكرة أخونا الأستاذ أبو عبدالله جميلة بلا شك وأحييه على الفكرة التي خرج بها .

ولكنك ستشعر الفرق عندما تتعامل مع سجلات كثيرة .. فالفكرة الأساسية التي اعتمد عليها وهي rpt.Line الأساسية ستكون بطيئة جداً لو افترضنا التعامل مع تقرير يحتوي 100 سجل على سبيل المثال . ولكن في فكرة التعديل الذي قمنا به وابتعادي عن الفكرة السابقة هي باستخدام GDI APIs التي أتت من المرفق A2KPictureBoxVer35.accdb الذي شاركنه به أخي جعفر .

يعني افتح التقرير rpt_BG_img_Barcode في مرفق الأستاذ عبدالله ، وانتقل لعرض الصفحة الثانية !!! ستشعر الفرق 100%

 

وختاماً لست في مكان أقييم به عمل أحد من الأساتذة والأعضاء ، فأخوكم ما زال يتعلم ولله الحمد 😇

قام بنشر
منذ ساعه, منتصر الانسي said:

بالعكس لو قمت بفتح الصورة ستجدها لاتحتوي على هوامش

المعذرة اخوي منتصر ، احنا نتكلم عن النسخة في هذه المشاركة ، والتي يكون في اطرافها المساحة البيضاء الاضافية :

.

منذ ساعه, منتصر الانسي said:

1. في الأخير أود التنويه إلى الحل المقدم من الأخ @أبو عبدالله الحلوانى فهو حل أراه مثيراً للإهتمام فقد توصل إلى نفس النتائج ولكن بدون إستخدام وحدة الكلاس

2. والحقيقة كنت أود معرفة الرأي الفني من الأخ @Foksh عن الفرق بين الطريقتين من حيث الأداء وإستهلاك الموارد فهو أستاذ في هذه الأمور

2. الكود كان يأخذ اطول بكثير في العمل ، وكنت اسمع صوت CPU الجهاز يصرخ :biggrin: لأن جهازي قديم 🙂

1. في الواقع التقصير مني ما تطرقت للكود بعد ان حصلت على رسالة الخطأ ، فالمعذرة 😞

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   1 عضو متواجد الان

×
×
  • اضف...

Important Information