Hata : Run Time '13' Type Mismatch

Rafet

Altın Üye
Katılım
24 Mart 2005
Mesajlar
230
Excel Vers. ve Dili
Ofice 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
01-12-2025
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.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
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
 

Rafet

Altın Üye
Katılım
24 Mart 2005
Mesajlar
230
Excel Vers. ve Dili
Ofice 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
01-12-2025
çok enterasan bişey ama böyle yaptığımdada hata vermişti.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Şu 22 satırlık sql komutunu içeren, kodlarını ekleyebilirmisin acaba?
 

Rafet

Altın Üye
Katılım
24 Mart 2005
Mesajlar
230
Excel Vers. ve Dili
Ofice 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
01-12-2025
Üst