کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

اکسپورت به اکسل


کپی رکوردست 




AutoFit  : 


تغییر عرض ستون ها یا ارتفاع ردیف ها در رنج تا جایی که مقادیر داخل آن قابل رویت باشد اگر تکستی زیاد باشد به همان اندازه ی طولش کالمن باز میشود.






کپی کردن رکوردست در شیت اکسل ( بازیابی اطلاعات Extract )



برای کپی کردن محتویات شی رکوردست  (ADO یا DAO ) در گوشه ی بالائی سمت چپ رنج مشخص شده در شیت اکسل استفاده میشود 


public int CopyFromRecordset (object Data, object MaxRows, object

MaxColumns);


که Data همان متغیر نسبت داده شده بعنوان رکوردست است ، MaxRows ماکزیمم ردیف هایی که باید داخل شیت کپی شود و MaxColumns ماکزیمم تعداد فیلدهایی که میخواهیم در شیت اکسل کپی شود.


فرضا


Dim Rs As RecordSet

Dim Sql As String

("Sql="Select * From Query1

(Set Rs=CurrentDb.OpenRecordset(Sql


درقسمت پائین اول باید آبجکت Excel.Application ساخته شود بعد اضافه کردن WorkBook به اپلیکیشن و استفاده از پراپرتی های مربوطه مثل Range یا Cell


Dim Wk As Object

Set Wk=XlObj.WorkBook.Add

Wk.Sheets(1).Range("A3").CopyFromRecordset Rs


برای کپی کردن فیلدها هم میشود در همان ماژول اگر جدول یا کوئری پراپرتی کپشن داشته باشد و فارسی آن فیلد را درآن ذخیره کرده باشیم با یک لوپ زدن داخل فیلدهای رکوردست (Rs.Fields ) به Cell مربوطه در آن شیت اکسل کپی کرد مثل 


Dim Fld As Fields

.

("Wk.Sheets(1).Cells(2,i)=Fld.Properties("Caption

.



نمونه هائی از پراپرتی های مورد استفاده

xlsh.UsedRange.Borders.Weight = 2

xlApp.Application.Columns.AutoFit

xlApp.displayalerts = False

xlwk.saveas "D:\" & Me.Name & ".xlsx"

xlApp.Quit


خروجی به فرمت های Excel Pdf Rtf



ObjectTypeObjectNameOutputFormatOutputFileAutoStart

                                                                               


                                                         نوع آبجکت  :  ObjectType

acOutputQuery

       acOutputTable

acOutputForm

             acOutputReport

               

      نام آبجکت : فرم کوئری فرم یا گزارش : ObjectName

  

    فرمت خروجی  : OutputFormat 

acFormatRTF
acFormatPDF
acFormatTXT
acFormatXLS
acFormatXLSX
acFormatXLSB

  نام فایل یا مسیر ونام فایل  : OutputFile


خروجی جدول Employees  به فرمت ( rtf ( Rich Text  و True هم که بعد از ایجاد فایل rtf بنام Employee.rtf باعث نمایش آن در اپلیکیشن می شود .


 _ , "DoCmd.OutputTo acOutputTable, "Employees

 acFormatRTF, "Employee.rtf", True


مثال بعدی : خروجی کوئری به اکسل ۲۰۰۷ که فرمت xls هست و بعد نمایش آن  .. در صورت خالی گذاشتن مسیر کامل فایل خود اکسس برای نام و مسیر آن سوال می کند.


 _ ,"DoCmd.OutputTo acOutputQuery,"YourQueryName

                                                                                          acFormatXLS,,True



اکسپورت آبجکت ذخیره شده به فایل Txt


برای اکسپورت از متد Docmd.TransferText استفاده می کنیم 


DoCmd.TransferText acExportDelim,"Standard Output   "External Report", "C:\Txtfiles\April.doc,"


مثال بالا جدول External Report  از دیتابیس اکسس که با نام Standard Output با Docmd.RunSavedImporExport ذخیره شده است را به فایل April  اکسپورت میکند با جداکننده.


البته مثل تصویر بالا حتما Import یا Export را بصورت قرار دادی مشخص کنید تا اشتباه نگیرید 



acExportDelim2Export Delimited
acExportFixed3Export Fixed Width
acExportHTML8Export HTML
acExportMerge4Export Microsot Word Merge
acImportDelim0Import Delimited
acImportFixed1Import Fixed Width
acImportHTML7Import HTML
acLinkDelim5Link Delimited
acLinkFixed6Link Fixed Width
acLinkHTML9Link HTML