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

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

قام بنشر (معدل)

سلام عليكم


اخواني الافاضل
مشكلة واريد لها حل من خبراء الاكسس

عند تصميم البرنامج والانتهاء 
اجد مشكلة الطابعة 

و الاكسس يستخدم الطابعة الافتراضية

وجدت عدة امثلة اجنبية وعربية رغم العربية احسن وادق 
لكن لم تظبط معي 

عند استخدام احد الامثلة نجحت الفكرة تمت طباعة من الطابعة المختارة
وعند طباعة فاتورة تغيرت من الطابعة المختارة الى الطابعة الافتراضية

والجهاز يوجد فيه ثلاث طابعات 
واريد اختيار طابعة محددة لمرة واحدة فقط

دون الرجوع كل مرة واختيار الطابعة



فما الحل اخواني 

لا احب ان اجعل اعدادت طابعة مع نمودج فاتورة
اريد فورم غير مرتبط بفورم فواتير coffee.gif

تم تعديل بواسطه ayman14
قام بنشر
3 دقائق مضت, kanory said:

كان اسم الطابعة معروفه مسبقا ضع هذا الكود قبل امر الطباعة

مساء الخير 

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

مثل هوامش الورقة و حجم الورقة ؟

شكراً أستاذي الفاضل 

قام بنشر

وعليك السلام

 

اخي الكريم

المثال لايصلح لما اريده

 

ما اريده هو قائمة منسدلة تحوي مجموعة طابعات الموجودة في جهازي 

وليس كتابتها يدويا

وعند اختيار من القائمة نوع الطابعة تصبح افتراضية للبرنامج 

بالتوضيح

اريد كود  يتحكم في تشغيل طابعة من الجهاز وجعلها افتراضية

قام بنشر
10 ساعات مضت, ayman14 said:

وعليك السلام

 

اخي الكريم

المثال لايصلح لما اريده

 

ما اريده هو قائمة منسدلة تحوي مجموعة طابعات الموجودة في جهازي 

وليس كتابتها يدويا

وعند اختيار من القائمة نوع الطابعة تصبح افتراضية للبرنامج 

بالتوضيح

اريد كود  يتحكم في تشغيل طابعة من الجهاز وجعلها افتراضية

اتفضل اتمنى يكون كما طلبت

Print.accdb

  • Thanks 2
قام بنشر (معدل)

وعليك السلام

 

اخي الكريم

المثال لم يقم بتغيير شيء

مازالت الطابعة الافتراضية هي هي

كما ان المثال بعيد جدا عن ما اريد

 

الامر بسيط كما في الفجوال بيسك

كود  يتعامل مع لوحة تحكم طابعات ويختار طابعة لتكون الافتراضية 

 

تم تعديل بواسطه ayman14
خطا في كتابة
قام بنشر (معدل)

كيف لم يتم تغير الطابعه الافتراضيه

عند اختيار الطابعة

ستجد

رساله هل تريد اختيار الطابعه

اذا اخترت نعم سوف يتم اختيار الطابعه الافتراضيه

انا مجربه على 3 طابعات

تم تعديل بواسطه ابو ياسين المشولي
قام بنشر (معدل)

اذا كنت تريد تغير الطباعة عند الطابعه هذا عند الطباعه يغير الطابعه الافتراضيه

Set Application.Printer = Application.Printers(DLookup("[printerName]", "pirent", "[Number]=5"))
SetDefaultPrinter (DLookup("[printerName]", "pirent", "[Number]=5"))

انا ما ارسلته الا بعد تجربه

تم تعديل بواسطه ابو ياسين المشولي
  • Like 1
قام بنشر

استادي العزيز

بارك الله فيك 

ثم عمل جدول ياخد اسماء الطابعات تلقائيا

واستخدمت الكود الاخير  

ثم بنجاح

والمشكل لم انتبه لها وهي في اعدادات التقرير كنت سابقا  اخترة نوع الطابعة
وعند تغييرها الى الطابعة الافتراضية 

عمل بشكل ممتاز

كان الخطا مني وليس من الامثلة التي استخدمتها 

وبنسبة للكود الاخير ممتاز جدا

لانني لااحب كثرة الاكواد وانت سيد العارفين(hlopaet_prv)


مشكور استادنا 

قام بنشر

وعليك السلام

 

اخي الكريم

لم استطع ارسال الرسالة ليست لدي صلاحيات

مازلت  عضو جديد

 

تم تعديل على الكود 

يمكن استخدامه في اي برنامج

وسيتم وضعه في هدا المنتدى ليستفيد منه كل من يبحث عن اضافة اختيار طابعة معينة لتكون الافتراضية

 

Print.rar

  • Like 1
قام بنشر
15 دقائق مضت, ayman14 said:

وعليك السلام

 

اخي الكريم

لم استطع ارسال الرسالة ليست لدي صلاحيات

مازلت  عضو جديد

 

تم تعديل على الكود 

يمكن استخدامه في اي برنامج

وسيتم وضعه في هدا المنتدى ليستفيد منه كل من يبحث عن اضافة اختيار طابعة معينة لتكون الافتراضية

 

Print.rar

شكرا اخي ايمن

هذا الكود موجود لدي

انا لسه بعالج فيه كيف يضيف اسماء الطابعات للجدول

Dim strMsg As String
Dim strTemp As String
 
        strTemp = GetPrinters()
        If Len(strTemp) = 0 Then
            Cancel = True
            strMsg = "No installed printers found."
        Else
            Me.prnt.RowSource = strTemp
        End If
    MySQL = "Delete * From pirent"
    CurrentDb.Execute (MySQL)
    

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("Select * From pirent")
    
    For i = 1 To strTemp
        rst.AddNew
            rst!printerName = strTemp
            strTemp
            rst!Number = Nz(DMax("[Number]", "pirent") + 1, 1)

        rst.Update
    Next i
    
    rst.Close: Set rst = Nothing

 

قام بنشر

شكرا لك الاخ خلف على ما اعتقد

الكود ممتاز جدا 

فهدا ما احبه في الاكسس 

الاكواد بسيطة و تقوم بالمطلوب

بوركت 

قام بنشر

الحمد لله

اللهم اجعله صدقة جارية في صحيفة من عمله  و  من نقله .

الان, ayman14 said:

شكرا لك الاخ خلف على ما اعتقد

 خَلْف بل هو الشطر الأول من اسم رمزي ....  خَلْف الساتر

و قد تقصدت أن يقرأ على الوجهين.

قام بنشر
19 ساعات مضت, Khalf said:

لقد نقلت الكود من نموذج لدي

لعلي أحظى بدعوة منكم إن عمل لديكم

 

جزاك الله خيرا أخي الكريم

وهذا برنامج جامع للفكرتين ( جلب اسماء الطابعات + تحديد الطابة الافتراضية )

ولعلي أحظى بدعوة لي ولوالدي ...

 

تحديد واختيار الطابعة الافتراضية - تغيير الطابعة الافتراضية.accdb

  • Like 2
قام بنشر
43 دقائق مضت, kanory said:

 

جزاك الله خيرا أخي الكريم

وهذا برنامج جامع للفكرتين ( جلب اسماء الطابعات + تحديد الطابة الافتراضية )

ولعلي أحظى بدعوة لي ولوالدي ...

 

تحديد واختيار الطابعة الافتراضية - تغيير الطابعة الافتراضية.accdb

جزاك الله خير

سبقتني بالتنزيل وهذا يحسب لك

لكن انا تاخرت لاني اود عند معرفه اسماء الطابعات يضيفها تلقائي

ممكن نتعاون جميعا

انا الان نجعت انه عند اختيار طابعه يضيفها الى الجدول

وانا اريد يضفها كلها للجدول بارقام متسلسله

  • Like 1
قام بنشر
20 دقائق مضت, ابو ياسين المشولي said:

جزاك الله خير

سبقتني بالتنزيل وهذا يحسب لك

ياسيدي ممكن التلميذ يسبق استاذه .. بارك الله فيك

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

لكن انا تاخرت لاني اود عند معرفه اسماء الطابعات يضيفها تلقائي

ممكن نتعاون جميعا

انا الان نجعت انه عند اختيار طابعه يضيفها الى الجدول

وانا اريد يضفها كلها للجدول بارقام متسلسله

اتفضل هل هذا ما تبحث عنه
 

Private Sub Form_Load()
Call GetPrinterList(cboDestination)
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE pirent.Number, pirent.printerName FROM pirent;"
    For i = 0 To Me.cboDestination.ListCount - 1
        Me.cboDestination = Me.cboDestination.ItemData(i)
        DoCmd.RunSQL "INSERT INTO pirent ( [Number], printerName ) SELECT Nz(DMax(""[number]"",""Pirent""),0)+1 AS Expr1, [Forms]![Print]![cboDestination]"
    Next i
    DoCmd.SetWarnings True
    Me.cboDestination = Me.cboDestination.ItemData(0)
End Sub

اليك المرفق

 

تحديد واختيار الطابعة الافتراضية - تغيير الطابعة الافتراضية.accdb

  • Like 1
  • Thanks 2
قام بنشر (معدل)
44 دقائق مضت, Shivan Rekany said:

اتفضل هل هذا ما تبحث عنه
 


Private Sub Form_Load()
Call GetPrinterList(cboDestination)
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE pirent.Number, pirent.printerName FROM pirent;"
    For i = 0 To Me.cboDestination.ListCount - 1
        Me.cboDestination = Me.cboDestination.ItemData(i)
        DoCmd.RunSQL "INSERT INTO pirent ( [Number], printerName ) SELECT Nz(DMax(""[number]"",""Pirent""),0)+1 AS Expr1, [Forms]![Print]![cboDestination]"
    Next i
    DoCmd.SetWarnings True
    Me.cboDestination = Me.cboDestination.ItemData(0)
End Sub

اليك المرفق

 

تحديد واختيار الطابعة الافتراضية - تغيير الطابعة الافتراضية.accdb

نعم اخي Shivan Rekany

هو هذا اللي يدور في عقلي

انا كنت عملت هذه الطريقه

 

Print.accdb

تم تعديل بواسطه ابو ياسين المشولي
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information