05-10-12, 02:49 AM
كاتب الموضوع : ramilove
بسم الله الرحمن الحيمبعد عناء البحث والتعديل وبفضل من الله استعطت اني ازبط هذا الكود وهو لطباعة تقارير اكسس من خلال الفيجول دوت نت 2008
اولا يجب اضافة هذا المكتبة من خلال نافذة برنامج الفيجول 2008
Project - Add Reference - .NET
ثم اختر هذه المكتبة واضغط اوكي
Microsoft.Office.Interop.Access 12.0.0.0
بعدها انسخة هذا الكود في فضاء الاسماء
كود :
[color=#000000][COLOR=#0000bb]Imports Access [/color][color=#007700]= [/color][color=#0000bb]Microsoft[/color][color=#007700].[/color][color=#0000bb]Office[/color][color=#007700].[/color][color=#0000bb]Interop[/color][color=#007700].[/color][COLOR=#0000bb]Access
[/COLOR][/COLOR]
بعدها انسخ هذا الكود كاملا وضعه في احد الازرار .
كود :
Try
Dim o
o = CreateObject("Access.Application")
o.automationsecurity = 1 ' فتح قاعدة البيانات بوضع امان منخفض منعا لظهور تحذير الامان.
'مسار قاعدة البيانات في مجلدات البرنامج مع وجود كلمة سر للقاعدة
o.opencurrentdatabase("" & Application.StartupPath & "\Data.mdb", bstrPassword:="12345")
'او بدون كلمة سر
'o.opencurrentdatabase("" & Application.StartupPath & "\Data.mdb")
'او اختر مسار اخر
'o.opencurrentdatabase("D:\data.mdb", bstrPassword:="12345")
'فتح في وضعية الاخفاء
o.visible = False
'طباعة التقرير بطابعة اخرى غير الافتراضية
'o.Printer = o.Application.Printers("HP LaserJet M1005")
'طباعة التقرير
o.DoCmd.OpenReport(ReportName:="Rebort1")
'طباعة مع تحديد عدد النسخ
'o.DoCmd.SelectObject(ObjectType:=Access.AcObjectType.acReport, ObjectName:="Rebort1", InDatabaseWindow:=True)
'o.DoCmd.PrintOut(PrintRange:=Access.AcPrintRange.acSelection, Copies:=2, CollateCopies:=False)
o.usercontrol = False
o.Quit()
o = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
الكود مثل ما ذكرت جربته قبل ما انزله .
في امان الله .