Excel'e Sorgu Aktarma

Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Merhaba,

Aşağıki kodlar ile tablodaki verileri excele aktarabiliyorum.

Bu verileri tablo yerine oluşturduğum sorgudan nasıl excele aktarabilirim?

Bulduğum çözümlerde bu kodlar hem tablo, hemde sorgu için gösteriyor. Fakat sorgu ismi yazdığımda "Parametre bekleniyor , 9 ... hatası verdi.

Kod:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim SQLStr, SQLStr1 As String
Dim SQLOrderBy As String
Set db = CurrentDb
SQLStr = "select * from datatable"
Set rs = db.OpenRecordset(SQLStr)
 
If rs.RecordCount > 0 Then
Dim oApp As New Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
Set oBook = oApp.Workbooks.Add
Set oSheet = oBook.Worksheets(1)
 
sat = 1
            rs.MoveFirst
            For i = 1 To rs.RecordCount
                    oSheet.Cells(sat + i, "a").Value = rs.AbsolutePosition + 1
                    oSheet.Cells(sat + i, "b").Value = rs(0)
                    oSheet.Cells(sat + i, "c").Value = rs(1)
                    rs.MoveNext
            Next i
 
Else
    MsgBox "Kayıt bulunamadı", vbInformation + vbDefaultButton1 + vbOKOnly, "Bilgi"
End If
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba Recep bey..

Bu prosedürü alternatif olarak kullanbilirsinizz..:

Kod:
[COLOR=#0600ff]Dim[/COLOR] yol [COLOR=#0600ff]As[/COLOR] [COLOR=#0600ff]String[/COLOR]
yol [COLOR=#008000]=[/COLOR] [COLOR=#0600ff]Environ[/COLOR][COLOR=#000000]([/COLOR][COLOR=#fb0000]"userprofile"[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]"\Desktop\sorgu_adı.xls"[/COLOR]
 
[COLOR=#008004][I]'Dosyaları 2007 sürümde kaydetmek için "....acExport, 8,..." kısmında buluna 8'i 9 yapınız..[/I][/COLOR]
DoCmd.TransferSpreadsheet acExport, [COLOR=#7d2252]8[/COLOR], [COLOR=#fb0000]"sorgu_adı"[/COLOR], yol, [COLOR=#0600ff]True[/COLOR], [COLOR=#fb0000]"sorgu_adı"[/COLOR]
 
MsgBox [COLOR=#fb0000]"Aktarım tamamlandı.."[/COLOR]
Access vba komut kartelasında yine bu amaç için hazırlanmış bu yöntem de var..:

Kod:
 DoCmd.OutputTo acOutputQuery, [COLOR=#fb0000]sorgu_adı[/COLOR], [COLOR=#fb0000]"MicrosoftExcel(*.xls)"[/COLOR], [COLOR=#fb0000]""[/COLOR], [COLOR=#0600ff]False[/COLOR], [COLOR=#fb0000]""[/COLOR], [COLOR=#7d2252]0[/COLOR]
 
Üst