AccessTr.neT
Do Until Sorgusu Kullanımı Hakkında - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Do Until Sorgusu Kullanımı Hakkında (/konu-do-until-sorgusu-kullanimi-hakkinda.html)

Sayfalar: 1 2


Do Until Sorgusu Kullanımı Hakkında - angelos - 30/09/2022

Daha önce excelle aktarma ile ilgili sorum olmuştur, yardımlarınız ile hallettim teşekkür ederim. Access te olan verilerimi altta yazılı kod ile aktarmaya çalışıyorum fakat her satıra 1 numaradaki kaydı ekleyip sonsuz bir döngü içerisine giriyor, kayıtlarımı sırası ile alması ve bitince döngünün sonlanması için kodda ne gibi değişiklik yapmalıyım.

Kod:
   
Dim i
Do Until rs2.EOF

        excl.Range("A" & i).Value = DLookup("id", "tblpersonel")
        excl.Range("B" & i).Value = DLookup("sicil", "tblpersonel")
        excl.Range("C" & i).Value = DLookup("ad_soyad", "tblpersonel")
        excl.Range("D" & i).Value = DLookup("rutbe", "tblpersonel")
        excl.Range("E" & i).Value = DLookup("birim", "tblpersonel")
               
   
  rs2.MoveNext
        i = i + 1


    Loop
 
rs2.Close




RE: Do Until Sorgusu Kullanımı Hakkında - orhantanriverdi - 30/09/2022

SELAMLAR,

O Sekilde olmasi sartmidir. buton tiklama olayina asagidaki sekilde bir kod ekleyip denermisiniz.



Function buton1()

DoCmd.OutputTo acOutputTable, "DOSYA ADI", "Excel97-Excel2003Workbook(*.xls)", "", False, "", , acExportQualityPrint


End Function


RE: Do Until Sorgusu Kullanımı Hakkında - angelos - 30/09/2022

Forum içerisinden benzeyen konulara baktığımda sorgu oluşturmam gerektiğini anladım
Kod:
Set rs1 = CurrentDb.OpenRecordset("Select tblpersonel.id,tblpersonel.sicil,tblpersonel.ad_soyad,tblpersonel.rutbe,tblpersonel.birim from tblpersonel")
bu şekilde bir sorgu oluşturdum. Kod bloğunu da
Kod:
Dim i
       i = 3


        Do Until rs1.EOF

        excl.Range("A4") = excl.Range("A" & i).Value = rs1(0)
        excl.Range("B4") = excl.Range("B" & i).Value = rs1(1)
        excl.Range("C4") = excl.Range("C" & i).Value = rs1(2)
        excl.Range("D4") = excl.Range("D" & i).Value = rs1(3)
       ' excl.Range("E").value = DLookup("birim", "tblpersonel")
                
      i = i + 1
      
  rs1.MoveNext
      


    Loop
  
rs1.Close

bu şekilde düzenledim F8 ile kontrol ettiğimde kayıtlarda gezdiğini görüyorum ama excellde ilk satırda bulunan yerlere YANLIŞ ibaresi koyuyor daha sonraki satırlara inmiyor


RE: Do Until Sorgusu Kullanımı Hakkında - berduş - 30/09/2022

recordsetin tamamı aktarılacaksa döngüye gerek yok copyfromrecordset ile aktarabiliyor zaten
Do Until rs2.EOF satırından önce If rs2.RecordCount > 0 Then rs2.MoveFirst satırı ekleyerek dener misiniz?
Not: her defasında biz belirtmeyelim; dosyanızı ekleyin
dosyanızı en baştan eklediğinizde çözüme daha çabuk ulaşılır


RE: Do Until Sorgusu Kullanımı Hakkında - orhantanriverdi - 30/09/2022

Forum içerisinden benzeyen konulara baktığımda sorgu oluşturmam gerektiğini anladım
Set rs1 = CurrentDb.OpenRecordset("Select tblpersonel.id,tblpersonel.sicil,tblpersonel.ad_soyad,tblpersonel.rutbe,tblpersonel.birim from tblpersonel")

Bu sekilde kulanimlar genelde sablonu hazir olan excellere gonderme konusunda basarili. Eger bir sablon yani hazir bir excele gondermek istiyorsan bu yontem uygulanabilir

Sayin Berdus un dedigi ornek eklerseniz daha hizli cozum bulunabilir.


RE: Do Until Sorgusu Kullanımı Hakkında - angelos - 30/09/2022

Evet şablon üzerinde ekleme yapıyorum çalışma içerisinde bilgiler olduğu için ekleyemedim ama yedek alıp bilgileri sildim ekte var çalışmam şu anda bakabilirseniz sevinirim direk aktar yaparsanız sonsuz döngüye giriyor bilginiz olsun