Değerli arkadaşlar;
levent hocam daha once sorunumla ilgili aşağıdaki kodu benimle paylaştı kendisine burdan tekrar teşekkur ederim kod foruma gonderdiğim ornek dosya içinde mukemmel bir şekilde çalışıyordu hatta dosya içine benzer veriler girip defalarca denedim ve çalıştı fakat kodu basit bir şekilde kendime revize ettiğimde hata vermeye başladı
orjinal kod buydu
oysa kod uzerinde yaptığım ilk değişilik dosya veri yolunu değişmekti ve
E:\sample\ yerine D:\sample\ yaptım ve
ama aşağıdaki hatayı verdi
Run-time error'-2147217900 (80040e14)':
[Microsoft][ODBC Excel Driver] Invalid SQL statement;expected
'DELETE','INSERT','PROCEDURE','SELECT',or'UPDATE'.
ve
bu satırda takılıyor
Set rs = baglanti.Execute("[" & sayfaadi & "$a28:fd3000]")
bu seferde kodu
şeklinde dosya adı ile değiştirince
bu seferde
rs.Close
kısmında takıldı
anlayamadıgım iki hatanında birbirinden bağımsız hatalar oldugunu tahmin ediyorum yani kodu incelediğimde yaptığım değişikliklerin etkili olduğunu düşünmüyorum sizce sorun nerde olabilir arkadaşlar
dosyalarda yapmış oldugum tek veri değişiklik
dat dosyalarının içine metin ve sayısal veri girmek ki veri aralığı ve format birebir ornek dosyam ile aynı;
levent hocam daha once sorunumla ilgili aşağıdaki kodu benimle paylaştı kendisine burdan tekrar teşekkur ederim kod foruma gonderdiğim ornek dosya içinde mukemmel bir şekilde çalışıyordu hatta dosya içine benzer veriler girip defalarca denedim ve çalıştı fakat kodu basit bir şekilde kendime revize ettiğimde hata vermeye başladı
orjinal kod buydu
Kod:
Sub verilerial()
dosyaadi = Array("dat1", "dat2", "dat3")
Set baglanti = CreateObject("ADODB.Connection")
Set sayfalar = CreateObject("ADOX.Catalog")
For a = 0 To UBound(dosyaadi)
baglanti.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=E:\sample\" & dosyaadi(a)
sayfalar.ActiveConnection = baglanti
For Each sayfa In sayfalar.Tables
sayfaadi = Replace(Left(sayfa.Name, Len(sayfa.Name) - 2), "'", "")
Set rs = baglanti.Execute("[" & sayfaadi & "$a28:fd3000]")
Sheets(sayfaadi).[a29].CopyFromRecordset rs
Next
rs.Close
baglanti.Close
Next
End Sub
E:\sample\ yerine D:\sample\ yaptım ve
Kod:
Sub verilerial()
dosyaadi = Array("dat1", "dat2", "dat3")
Set baglanti = CreateObject("ADODB.Connection")
Set sayfalar = CreateObject("ADOX.Catalog")
For a = 0 To UBound(dosyaadi)
baglanti.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=D:\sample\" & dosyaadi(a)
sayfalar.ActiveConnection = baglanti
For Each sayfa In sayfalar.Tables
sayfaadi = Replace(Left(sayfa.Name, Len(sayfa.Name) - 2), "'", "")
Set rs = baglanti.Execute("[" & sayfaadi & "$a28:fd3000]")
Sheets(sayfaadi).[a29].CopyFromRecordset rs
Next
rs.Close
baglanti.Close
Next
End Sub
ama aşağıdaki hatayı verdi
Run-time error'-2147217900 (80040e14)':
[Microsoft][ODBC Excel Driver] Invalid SQL statement;expected
'DELETE','INSERT','PROCEDURE','SELECT',or'UPDATE'.
ve
bu satırda takılıyor
Set rs = baglanti.Execute("[" & sayfaadi & "$a28:fd3000]")
bu seferde kodu
Kod:
Sub verilerial()
dosyaadi = Array("1", "2", "3")
Set baglanti = CreateObject("ADODB.Connection")
Set sayfalar = CreateObject("ADOX.Catalog")
For a = 0 To UBound(dosyaadi)
baglanti.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=D:\sample\" & dosyaadi(a)
sayfalar.ActiveConnection = baglanti
For Each sayfa In sayfalar.Tables
sayfaadi = Replace(Left(sayfa.Name, Len(sayfa.Name) - 2), "'", "")
Set rs = baglanti.Execute("[" & sayfaadi & "$a28:fd3000]")
Sheets(sayfaadi).[a29].CopyFromRecordset rs
Next
rs.Close
baglanti.Close
Next
End Sub
bu seferde
rs.Close
kısmında takıldı
anlayamadıgım iki hatanında birbirinden bağımsız hatalar oldugunu tahmin ediyorum yani kodu incelediğimde yaptığım değişikliklerin etkili olduğunu düşünmüyorum sizce sorun nerde olabilir arkadaşlar
dosyalarda yapmış oldugum tek veri değişiklik
dat dosyalarının içine metin ve sayısal veri girmek ki veri aralığı ve format birebir ornek dosyam ile aynı;