sözdizimi hatası hk;

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
üstadlarım merhaba;
ekte aynı dosya içerisinde bulunan verial ve vkn-indirilecek(12) dosyalarından verial dosyası içerisine; vkn-indirilecek(12) dosyasından c4 den başlayarak en son dolu satıra kadar veri almak istiyorum ama;

Sub baglan_kls()
Cells.Clear

Set con = CreateObject("adodb.connection")
Set fso = CreateObject("scripting.filesystemobject")

yol = "Z:\2021 İNDİRİLECEK\2018\2018 İNDİRİLECEK KDV LİSTESİ\"

For Each kls In fso.getfolder(yol).Files

uzanti = fso.GetExtensionName(kls.Path)


If uzanti = "xls" Then

If con.State = 1 Then con.Close

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & kls.Path & ";extended properties=""excel 12.0;hdr=yes"""


sorgu = "Select Sıra No,Alış Faturasının Tarihi,Alış Faturasının Serisi,Alış Faturasının Sıra Nosu,Satıcının Adı - Soyadı / Ünvanı,Satıcının Vergi Kimlik Numarası / TC Kimlik Numarası,Alınan Mal ve/veya Hizmetin Cinsi,Alınan Mal ve/veya Hizmetin Miktarı,Alınan Mal ve/veya Hizmetin KDV Hariç Tutarı,KDVsi,GGB Tescil Nosu (Alış İthalat İse),Belgenin İndirim Hakkının Kullanıldığı KDV Dönemi, from[İndirilecek KDV Listesi$]"

Set rs = con.Execute(sorgu)

son = Cells(Rows.Count, 1).End(3).Row + 1

Range("A" & son).CopyFromRecordset rs

con.Close

End If
Next kls

Cells.EntireColumn.AutoFit


yukarıdaki kod kısmında Set rs = con.Execute(sorgu) satırında sözdizimi hatası vermektedir.

hatayla ilgili yardımcı olabilirseniz sevinirim.

Ayrıca;

vkn-indirlecek(12) dosyasına benzer 12 tane excel vardır. 12 excelin içerisindeki her sayfadan veriyi alt alta verial dosyasının içerisine almak istiyorum
 

Ekli dosyalar

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
sorgu = "Select Sıra No,Alış Faturasının Tarihi,Alış Faturasının Serisi,Alış Faturasının Sıra Nosu,Satıcının Adı - Soyadı / Ünvanı,Satıcının Vergi Kimlik Numarası / TC Kimlik Numarası,Alınan Mal ve/veya Hizmetin Cinsi,Alınan Mal ve/veya Hizmetin Miktarı,Alınan Mal ve/veya Hizmetin KDV Hariç Tutarı,KDVsi,GGB Tescil Nosu (Alış İthalat İse),Belgenin İndirim Hakkının Kullanıldığı KDV Dönemi, from[İndirilecek KDV Listesi$]"

Set rs = con.Execute(sorgu)

sorgu koduna execute yaptığında neden sözdizimi hatası vermektedir. Yardımcı olacak arkadaş varsa sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Boşluk içeren başlıkları köşeli parantez içinde yazmanız gerekir.

Örnek;

[Sıra No]
 

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
Korhan üstadım onu da denedim.

sorgu = "Select [Sıra No],[Alış Faturasının Tarihi], from[İndirilecek KDV Listesi$]"

Set rs = con.Execute(sorgu)

sorgu satırında yazıda hata olmasın diye 2 sütun için ayar yapmak istediğimde aşağıdaki hatayı almaktayım.

241758
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod yazmada (herşeyde olduğu gibi) düzen-disiplin çok önemlidir.

Sorgu = "Select [Sıra No], [Alış Faturasının Tarihi] From [İndirilecek KDV Listesi$]"
 

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
Korhan bey, dönüşler için teşekkür ederim ancak bu seferde aşağıdaki hatayı vermektedir.

241759
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu şekilde bir deneyiniz.

C++:
Sub baglan_kls()
    Cells.Clear
    
    Set con = CreateObject("adodb.connection")
    Set fso = CreateObject("scripting.filesystemobject")
    
    yol = "Z:\2021 İNDİRİLECEK\2018\2018 İNDİRİLECEK KDV LİSTESİ\"
    
    For Each kls In fso.getfolder(yol).Files
        uzanti = fso.GetExtensionName(kls.Path)
        If uzanti = "xls" Then
            If con.State = 1 Then con.Close
            con.Open "provider=microsoft.ace.oledb.12.0;data source=" & kls.Path & ";extended properties=""excel 12.0;hdr=No"""
            sorgu = "Select * From [İndirilecek KDV Listesi$]"
            Set rs = con.Execute(sorgu)
            son = Cells(Rows.Count, 1).End(3).Row + 1
            Range("A" & son).CopyFromRecordset rs
            con.Close
        End If
    Next kls
    
    Cells.EntireColumn.AutoFit
End Sub
 

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
Korhan bey allah razı olsun;
Kod yazmada (herşeyde olduğu gibi) düzen-disiplin çok önemlidir. bu kısım içinde haklısınız.
 
Üst