الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طابعة إفتراضية للبرنامج على Network

بدأه helmy_foad في 28 نوفمبر 2008 · 4 رد · 643 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الموضوع ببساطة

برنامج اكسيس عادى جداً

و طابعة ملحقة بالجهاز إفتراضياً

لكن اريد ان لا يطبع التقارير الخاصة بالبرنامج على هذة الطابعة بل على طابعة اخرى على الشبكة

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

بل عند الطبع من هذا البرنامج يطبع على الطابعة المحددة على الشبكة

لكن تظل الطابعة ال local هى الطابعة الإفتراضية لطباعة اى شئ اخر مثل ملفات الوورد و الاكسيل و غير ذلك

هل هذا ممكن ؟

#2

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

عسى أن يكون هذا المثال يلبي مرادك

المثال موجود في المرفقات

والذي عملته أني وضعت في حدث التحميل للنموذج كود يقوم بإضافة جميع الطابعات المتوفرة إلى مربع تحرير وسرد بإسم All_Printers

Dim prtLoop As Printer

For Each prtLoop In Application.Printers
	With prtLoop
		Me.All_Printers.AddItem (.DeviceName)
	End With
Next prtLoop
Me.All_Printers = Application.Printer.DeviceName

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

ووضعت الكود التالي في وحدة نمطية Module

Global MyDefaultPrinter As String

Sub Get_Default_Printer()
	MyDefaultPrinter = Application.Printer.DeviceName
End Sub

Sub Set_Default_Printer(Target_Printer As String)
	Dim prtLoop As Printer
	Dim ExisT As Boolean
	Dim ItemNo As Integer
	For Each prtLoop In Application.Printers
		With prtLoop
			If Target_Printer = .DeviceName Then
				Set Application.Printer = Application.Printers(ItemNo)
				ExisT = True
				Exit For
			End If
		End With
		ItemNo = ItemNo + 1
	Next prtLoop
	If ExisT = False Then
		MsgBox "Target Printer does not exist.", vbCritical, "Sorry.."
	End If
End Sub

ثم وضعت الكود التالي في زر عرض التقرير المسمى R

Call Get_Default_Printer

	Call Set_Default_Printer(Me.All_Printers)

	Dim stDocName As String

	stDocName = "R"
	DoCmd.OpenReport stDocName, acPreview

وفي الكود السابق غير Me.All_Printers الموجودة في السطر الثاني إلى إسم الطابعة كاملا ولا تنسى بين علامتي تنصيص مزوجة .. لتجنب إختيار الطابعة كل مرة

وفائدة الكود السابق أولا إستدعيت الدالة الخاصة بحفظ إسم الطابعة الإفتراضية في متغير عالمي أو عام .. لإستعادة الطابعة في النهاية

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

وفي حدث إغلاق التقرير المسمى R كتبت الكود التالي

Call Set_Default_Printer(MyDefaultPrinter)

ويفيد بإستعادة الطابعة الإفتراضية القديمة

ملحوظة : هذا الكود لا يغير الطابعة الإفتراضية لجهازك إنما يغيرها داخل البرنامج فقط .. فلو فتحت نافذة الطابعات والفاكسات (الموجودة في لوحة التحكم ) فإنه لن ينقل العلامة المستديرة السوداء الصغيرة التي بداخلها علامة صح .. من طابعة إلى أخرى عند تطبيق البرنامج.

وللتطبيق إفتح النموذج ثم إختر أولا الطابعة المرادة من مربع التحرير والسرد ثم أنقر على زر عرض التقرير .. سيظهر التقرير ضع المؤشر على أداة الطابعة في شريط أدوات أكسيس سيظهر لك مربع بيج به إسم الطابعة التي إخترتها .. أغلق التقرير ثم ضع المؤشر على أداة الطابعة سيظهر لك إسم الطابعة الإفتراضية للجهاز

أتمنى أني وفقت في الشرح .. والحمدلله رب العالمين أولا وآخرا

koao_Default_Printer.zip

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#3

بارك الله بك اخي koao على هذا المجهود الكبير ،،،،

هذه طريقة ثانية افتح التقرير واذهب تصميم ثم اختر

post-139265-1228115873_thumb.png

ثم اختر

post-139265-1228115898_thumb.png

ثم اختر الطابعة المطلوبة

post-139265-1228116296_thumb.png

اخفظ التقرير وبهذا لن يطبع التقرير الا على الطابعة المحددة.

بارك الله بكم جميعا وتقبلوا تحياتي اخوك ابو عدنان

27169617.gif
#4

ذكرتني بقصة أخي moh samer ali

أن الأمريكان في الفضاء واجهوا مشكلة أن القلم الحبر لا يكتب في الفضاء بحكم إنعدام الجاذبية .. فرصدوا ميزانية بعشرات الملايين وكلفوا فريق بحل المشكلة .. وبعد سنوات إخترعوا قلم حبر يكتب في الفضاء .. وكانوا فرحين جدا .. فأعلنوا في أوساط علماء الفضاء العالميين أنهم إكتشفوا هذا الإختراع .. فضحك علماء الفضاء الروس عليهم .. وقالوا ما بكم قالوا .. لقد واجهتنا هذه المشكله قبل سنوات .. وحلينا المشكلة بأن أعطينا رواد الفضاء .. أقلام رصاص .. وكانت هي الحل

فأنا مثل الأمريكان - اعزني الله - وأنت مثل الروس - أعزك الله - ههههههههههههههههههههههههههههه

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#5

اخي الكريم koao بارك الله فيك امتعتنا في هذه القصة ,,,

بس يبقى قلم الحبر للكبار فقط له هيبته ومكانته ومحبته في قلوبنا ،،،،

27169617.gif

مواضيع مشابهة