• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hata : Run Time '13' Type Mismatch

  • Konbuyu başlatan Konbuyu başlatan Rafet
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Mart 2005
Mesajlar
230
Excel Vers. ve Dili
Ofice 2010 - Türkçe
Excel'e SQL den veri cekiyorum ve aşağıdakı gibi kodlarla cekiyorum.


With Sheets("StokRapor").Range("SR_Sorgu1").QueryTable
.Connection = _
"ODBC;DRIVER=SQL Server;SERVER=192.168.0.001;UID=sa;PWD=123;APP=Microsoft Office 2003;WSID=NY;DATABASE=databese
"
.CommandText = Array( _
" Select *" _
, " From aaaaaaa" _
, " Where aa='' " _
)
.Refresh BackgroundQuery:=False
End With

gibi. ve SQL komutlarını en fazla 22 satır yaza biliyorum. satır lar da çok uzun olursa makro çalışırken yukardaki hatayı veriyor. SQL cümlesini daha çok uzatmamın bir yolu varmı .

Varsa yol gösterrirsenin sevirim.

Muhabbetle.
 
Eğer sorun satır uzunluğundan kaynaklanıyorsa; şöyle yapabilirsin.

dim sql as string
sql="SELECT * FROM "
sql=sql & "aaa, bbb, ccc, ddd, eee "
sql=sql & "WHERE aa="" AND bb=xxx AND cc=yyy ;"

bu şekliyle parça parça yazarak, sql stringini istediğin gibi uzatabilirsin.

Daha sonra elde ettiğin string, yukarıda verdiğin kodlarda
.......
.....commanText=Array(" & sql & ")
.....

şeklinde kullabilirsin. Tabi type mismatch'in nedeni bu ise... Kolay gelsin
 
çok enterasan bişey ama böyle yaptığımdada hata vermişti.
 
Şu 22 satırlık sql komutunu içeren, kodlarını ekleyebilirmisin acaba?
 
Geri
Üst