excele transfer kodu ile ilgil yardım?

Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Merhaba,

Aşağıdaki kod tabloyu excele çıkıyor ve direkt olarak A1 kolonuna yazıyor
acaba örneğin sheet1 de A5 kolonununa transfer et diyebilirmiyim saygılar?


strsql = "(" & "SELECT TABLO.* " & _
"INTO [Sheet1] IN '' [Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\liste1.xls;] " & _
"FROM TABLO " & _
"WHERE [sıra no]='" & ara![sıra] & "';)"

DoCmd.RunSQL strsql
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Merhaba,

Aşağıdaki kod tabloyu excele çıkıyor ve direkt olarak A1 kolonuna yazıyor
acaba örneğin sheet1 de A5 kolonununa transfer et diyebilirmiyim saygılar?


strsql = "(" & "SELECT TABLO.* " & _
"INTO [Sheet1] IN '' [Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\liste1.xls;] " & _
"FROM TABLO " & _
"WHERE [sıra no]='" & ara![sıra] & "';)"

DoCmd.RunSQL strsql
bu konu hakkında bilgisi olan varmı?
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Merhaba,

Aşağıdaki kod tabloyu excele çıkıyor ve direkt olarak A1 kolonuna yazıyor
acaba örneğin sheet1 de A5 kolonununa transfer et diyebilirmiyim saygılar?


strsql = "(" & "SELECT TABLO.* " & _
"INTO [Sheet1] IN '' [Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\liste1.xls;] " & _
"FROM TABLO " & _
"WHERE [sıra no]='" & ara![sıra] & "';)"

DoCmd.RunSQL strsql
bu soruma cevap verecek KİMSE VARMIDIR?
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Aşağıdaki kodu aktarma yaptığınız forma kopyalayınız;

Kod:
Public Sub CopyRs2Sheet(strsql As String, strWorkBook As String, Optional strWorkSheet As String, Optional strCellRef As String)
'Uses the Excel CopyFromRecordset method
'strSql: Sql Select string
'strWorkBook: Full path and name to target wb, will create if doesn't exist
'strWorkSheet: Name of target worksheet, will create if doesn't exist
'strCellRef: Upper Left cell for data, defaults to A1


On Error GoTo ProcError
DoCmd.Hourglass True

'using late binding on Excel
Dim objXLApp As Object 'Excel.Application
Dim objXLWb As Object 'Excel.Workbook
Dim objXLSheet As Object 'Excel.Worksheet
Dim rs As DAO.Recordset
Dim fld As DAO.Field
Dim i As Integer
Dim iSheets As Integer



'set rs from sql, table or query
Set rs = CurrentDb.OpenRecordset(strsql, dbOpenSnapshot)

'start Excel
Set objXLApp = CreateObject("Excel.Application")

'open workbook, error routine will
'create it if doesn't exist

'only create workbooks with 1 sheet
iSheets = objXLApp.SheetsInNewWorkbook 'save user's setting
objXLApp.SheetsInNewWorkbook = 1 'set for only 1 sheet
Set objXLWb = objXLApp.Workbooks.Open(strWorkBook)
objXLApp.SheetsInNewWorkbook = iSheets 'restore user's setting

'select a worksheet, if sheet doesn't exist
'the error routine will add it
If strWorkSheet = "" Then
strWorkSheet = "Sheet1"
End If

'If Range is missing default to A1
If strCellRef = "" Then
strCellRef = "A1"
End If

'select desired worksheet
Set objXLSheet = objXLWb.Worksheets(strWorkSheet)

'insert recordset into Excel Worksheet using CopyFromRecordset method
objXLSheet.Range(strCellRef).CopyFromRecordset rs
objXLSheet.Columns.AutoFit

'Save wb
objXLWb.Save
objXLWb.Close

'close up other rs objects
If Not rs Is Nothing Then rs.Close
Set rs = Nothing

Set objXLSheet = Nothing
Set objXLWb = Nothing

'quit Excel
If Not objXLApp Is Nothing Then objXLApp.Quit
Set objXLApp = Nothing

DoCmd.Hourglass False
Exit Sub

ProcError:

Select Case Err
Case 9 'Worksheet doesn't exist
objXLWb.Worksheets.Add
Set objXLSheet = objXLWb.ActiveSheet
objXLSheet.Name = strWorkSheet

Resume Next

Case 1004 'Workbook doesn't exist, make it
objXLApp.Workbooks.Add
Set objXLWb = objXLApp.ActiveWorkbook
objXLWb.SaveAs strWorkBook

Resume Next

Case Else
DoCmd.Hourglass False
MsgBox Err.Number & " " & Err.Description
Stop
Resume 0
End Select

End Sub
Daha sonra da aktarma düğmesinin click koduna alttaki kodu ekleyiniz..

Kod:
Call CopyRs2Sheet("tablo1", "c:\xxx.xls", "sheet1", "F1")
Tablo1: tablo ismi

c:\xxx.xls : Dosya yolu

sheet1 : Sayfa ismi

F1 : Hücre ismi

Tablo ismi yerine select cümlesi koyabilirsiniz böylece istediğiniz verileri alırsınız..
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Kod biraz uzun ve karışık gibi sanki ;) Yolu tanımlı excel belgesi yoksa aynı isimde ve yolda yenisini yaratma, hata denetimleriyle birlikte açıklamaları yarısından çoğunu kaplamış ;)
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
sn beab05 öncelikle ilginiz için teşekkürler
Esasında ben bir form kullanmıyorum.Access üzerinde modülün içine gerekli kodu yazıp çalıştırdığımda tabloyu excelde örnek a5 kolonuna transfer etsin istiyorum.
 
Üst