Excel'e Aktarma

1 2
23/06/2022, 18:50

ertuğrul2022

Filtrelediğim listeyi Excel'e nasıl atarım acaba bu konuda yardımcı olur musunuz.
23/06/2022, 19:12

berduş

en pratik yöntem filtreli sorguyu aşağıdaki komut ile excele aktarmaktır ama sizin çalışmanızda filtreli sorgu kullanılmadığı için sorun çıkabilir
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Filtreli Sorgu Adı", "D:\Desktop\ExcelAdı.xls", True
23/06/2022, 20:49

ertuğrul2022

(23/06/2022, 19:12)berduş yazdı: en pratik yöntem filtreli sorguyu aşağıdaki komut ile excele aktarmaktır ama sizin çalışmanızda filtreli sorgu kullanılmadığı için sorun çıkabilir
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Filtreli Sorgu Adı", "D:\Desktop\ExcelAdı.xls", True
hocam boş olanlar, süresi dolanlar, süresi olanları filtreleyip gösteriyorum. acaba filtrelemede mi hatam var.
23/06/2022, 20:58

berduş

Önceki mesajımda da belirttiği gibi çalışmanızda filtreli sorgu kullanılmıyor o nedenle önce filtreli sorgu oluşturmalısınız
23/06/2022, 21:13

ertuğrul2022

(23/06/2022, 20:58)berduş yazdı: Önceki mesajımda da belirttiği gibi çalışmanızda filtreli sorgu kullanılmıyor o nedenle önce filtreli sorgu oluşturmalısınız
Hocam kusura bakmayın ama filtreli sorgu nasil oluyor acaba
24/06/2022, 12:08

berduş

1 - ana forma aşağıdaki yordamı ekleyin
bu yordam altformun kullandığı sorgu ve uygulanan filtreye uygun geçici bir sorgu oluşturur
Sub SilYap()
On Error Resume Next
FiltreAfrm = ""
SQLAfrm = Me.Ana_sayfa_Sorgu.Form.RecordSource ' altformun veri kaynağı
FiltreAfrm = Me.Ana_sayfa_Sorgu.Form.Filter ' altformun filtresi
If Len(FiltreAfrm & "") > 0 Then FiltreAfrm = " WHERE " & FiltreAfrm
strSQL = "Select * From " & SQLAfrm & FiltreAfrm ' oluşturulacak geçici sorgunun kaynağı

DoCmd.DeleteObject acQuery, "qryTemp" 'geçici sorgu varsa siler
Set qryDEF = CurrentDb.CreateQueryDef("qryTemp", strSQL)' 'geçici sorgu oluşturur
'CurrentDb.QueryDefs.Refresh

End Sub
2 - excele aktar düğmesinin kodu
Private Sub Komut32_Click()
SilYap 'geçici sorgu silip oluşturma yordamını çağırır
DoCmd.OutputTo acOutputQuery, "qryTemp", acFormatXLSX, , True'excele yollar

On Error Resume Next
DoCmd.DeleteObject acQuery, "qryTemp"
End Sub
1 2