Aynı anda 8 tane sorgunun excel olarak çıkartılması

1 2
05/10/2009, 22:03

danke

Arkadaşlar kolay gelsin, formda bulduğum örnekle programımda kullandığım sorgunun Excel olarak çıkartılmasını sağladım.

Ancak ihtiyaç anında program kullanıcılarından bilgisi en az kullanıcıları düşünerek bir düğmeyle 8 sorgunun excele aktarılmasını beceremedim.

Form üzerinde bulunacak bir düğmeyle 8 sorgunun benim belirlediğim klasöre Excel olarak çıkartılmasını sağlayacak bir yöntem varsa ve belirtilirse çok sevinirim,

İlgilenip yardımcı olacak herkese teşekkürler.
06/10/2009, 08:09

cuneyt

yaptığın örneği ekleyebilirmisin.
06/10/2009, 20:08

Taruz

Merhaba..

Bu tüm sorguların ayrı dosyalara çıkartılacak olduğunu varsayarak bir öneride bulunayım size..:

Kod:
Dim Klasor As String
Klasor = "c:"
With DoCmd
.TransferSpreadsheet acExport, 8, "SorguAdi1", Klasor & "\ExcelDosyasıAdı1.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi2", Klasor & "\ExcelDosyasıAdı2.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi3", Klasor & "\ExcelDosyasıAdı3.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi4", Klasor & "\ExcelDosyasıAdı4.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi5", Klasor & "\ExcelDosyasıAdı5.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi6", Klasor & "\ExcelDosyasıAdı6.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi7", Klasor & "\ExcelDosyasıAdı7.xls", True, ""
.TransferSpreadsheet acExport, 8, "SorguAdi8", Klasor & "\ExcelDosyasıAdı8.xls", True, ""
End With

Yukardaki kod içerisine seçenek için mesaj kutuları yerleştirilebilir.. "... İstiyor musunuz?" "... Emin misiniz?" gibi..

Klasor değişkenini istediğiniz şekilde değiştirebilirsiniz.. Bir önceki sorunuzda önerdiğim gibi windowsun dosya/klasör penceresini açarak yolun seçilerek de atanmasını sağlayabilirsiniz..
06/10/2009, 23:45

danke

Sayın Taruz cevabınız için teşekkürler, denedikten sonra dönecem, kolay gelsin.
07/10/2009, 19:10

danke

Sayın Taruz ilginiz için teşekkür ediyorum, kodu kullandım, işime yaradı.

Dediğiniz gibi sorgu çalışmadan çalışsın mı diye uyarı da verdirdim, kullanıcı sorgu çalışmasın diye seçtiğinde de çalışsada önemi yok, ayrıca Excel çıktısı olarak hazırlandığında yine uyarıyor.

İlginiz ve emeğiniz için teşekkürler, kod ilgilenenler için aşağıya eklendi kolay gelsin..

Alıntı:Private Sub Komut83_Click()
Dim Klasor As String
Klasor = "c\Excel çıktıları"
With DoCmd
MsgBox "Verileri Excele aktarmak istiyor musunuz? ", 36, "Veriler için Excel çıktıları klasörüne bakabilirsiniz"
.TransferSpreadsheet acExport, 8, "Sorgu1", Klasor & "\Excell1.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu2", Klasor & "\Excell2.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu3", Klasor & "\Excell3.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu4", Klasor & "\Excell4.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu5", Klasor & "\Excell5.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu6", Klasor & "\Excell6.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu7", Klasor & "\Excell7.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu8", Klasor & "\Excell8.xls", True, ""

MsgBox "Sorgu çıktılarınız: C\Excel çıktıları adresine atıldı.", 0, "VERİ AKTARIMI"
End With
End Sub
10/10/2009, 01:18

Taruz

Merhaba..

Mesajınızı bir şarta bağlarsanız istediğiniz şekilde çalışacaktır.. Düzenlenmiş halini ekliyorum..

İyi çalışmalar..


Kod:
Dim Klasor, mesaj As String
Klasor = "c\Excel çıktıları"
mesaj = MsgBox("Verileri Excele aktarmak istiyor musunuz? ", vbYesNo, "Veriler için excel çıktıları klasörüne bakabilirsiniz")
If mesaj = vbYes Then
With DoCmd
TransferSpreadsheet acExport, 8, "Sorgu1", Klasor & "\Excell1.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu2", Klasor & "\Excell2.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu3", Klasor & "\Excell3.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu4", Klasor & "\Excell4.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu5", Klasor & "\Excell5.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu6", Klasor & "\Excell6.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu7", Klasor & "\Excell7.xls", True, ""
.TransferSpreadsheet acExport, 8, "Sorgu8", Klasor & "\Excell8.xls", True, ""
End With
MsgBox "Sorgu çıktılarınız: C\Excel çıktıları adresine atıldı.", 0, "VERİ AKTARIMI"

Else
MsgBox "İşlem iptal edildi"
End If
1 2