PDA

View Full Version : مبتدی: ایجاد خروجی اکسل از ساب فرم اکسس



m3343kh
دوشنبه 01 دی 1399, 20:11 عصر
با سلام و عرض ادب خدمت دوستان و اساتید محترم

یک فرم اکسس دارم که دارای یک ساب فرم میباشد و بصورت عکس ضمیمه فیلتر میشود.
میخواهم دکمه ای روی فرم قرار دهم که کلیلک آن محتویات ساب فرم به اکسل ارسال شوند.

پیشاپیش از راهنماییتان کمال تشکر را دارم.152719

padide55
دوشنبه 01 دی 1399, 20:35 عصر
سلام
از کدهای این تاپیک استفاده کنید

اینجا (https://barnamenevis.org/showthread.php?563183-%D8%A2%D9%BE%D8%AF%DB%8C%D8%AA-%D8%B4%D8%AF%D9%86-%D9%81%D8%B1%D9%85-%D9%88-%D8%B3%D8%A7%D8%A8-%D9%81%D8%B1%D9%85-%D8%A8%D8%AF%D9%88%D9%86-%D8%A8%D8%B3%D8%AA%D9%86-%D8%A2%D9%86&p=2436451&viewfull=1#post2436451)

m3343kh
چهارشنبه 03 دی 1399, 17:54 عصر
سلام
ممنون از توجه تان
ولی ربطی به سوال نداشت.
من میخوام با زدن دکمه "ارسال به اکسل" از ساب فرم ، خروجی اکسل بگیرم.
متشکرم

padide55
چهارشنبه 03 دی 1399, 22:00 عصر
اون تاپیک هم خروجی اکسل داره از ساب فرم.
ضمنا این تاپیک هم هست .

نمونه فایل (https://barnamenevis.org/showthread.php?563201-%D8%AE%D8%B1%D9%88%D8%AC%DB%8C-%D8%A7%DA%A9%D8%B3%D9%84-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C&p=2436405&viewfull=1#post2436405)

برای خروجی به اکسل چهار راه دارید .
یکی طبق نمونه فوق
......................
اول کپی پیست
ابتدا با کلیک روی باتن به ساب فرم فوکوس میشه
بعدمتن موجود درساب فرم کپی میشه و
بعد یک فایل اکسل ایجاد میشه
بعد کل متن کپی شده به اکسل پیست میشه.

ادامه کدها مربوط به تنظیم فونت و .. فایل اکسل هست که به صورت دستی هم در خود اکسل انجام میشه
............................
روش دوم .
اگر ساب فرم به یک کوئری متصل هست
یک باتن بگذارید جهت ارسال کوئری به اکسل


DoCmd.OutputTo acOutputQuery, "QueryName", acFormatXLS, "query.xls", True

بهترین راه ارسال کوئری به اکسل هست .
...........................
روش سوم کد برای ارسال ساب فرم مستقیم به اکسل با این کد



DoCmd.OutputTo acOutputForm, Me.Form.Name, acFormatXLS, "test.xls", True

..................
روش چهارم
استفاده از کد بیسیک جهت ارسال رکورد به رکورد از ساب فرم به اکسل



Private Sub Command0_Click()

If Me.Dirty Then Me.Dirty = False

Dim rsClone As DAO.Recordset
Set rsClone = Me.SUBFORM_NAME.Form.RecordsetClone

If rsClone.EOF Then
MsgBox "No records found."
Set rsClone = Nothing
Exit Sub
End If

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible = True
.Workbooks.Add
.Sheets("Sheet1").Select

.ActiveSheet.Range("A2").CopyFromRecordset rsClone

For i = 1 To rsClone.Fields.Count
xlApp.ActiveSheet.Cells(1, i).Value = rsClone.Fields(i - 1).Name
Next i
xlApp.Cells.EntireColumn.AutoFit
End With


End Sub

m3343kh
پنج شنبه 04 دی 1399, 13:55 عصر
سلام
بسیار تشکر دوست عزیز

%هر کس مرا کلمه ای بیاموزد مرا بنده خویش ساخته است. مولا علی(ع)%