Herkese iyi günler foruma yeni katıldım. oldukça faydalı gözüküyor.
Excel ve macro bilgim pek yok. Bu aralar databaseden macro ile veri çekmeye çalışıyorum. Databaseye bağlandım ve verileri çekebiliyorum bunda sıkıntım yok.
Fakat veri seçmeyi değişkenler üzerinden yapmaya çalıştığımda hata veriyor.
Kodlar üzerinde açıklamam daha iyi
.CommandText = "Select * FROM tb1 WHERE Id > 0 and Id < 100 "
bu satırda sql query ile tb1 tablosunda Id si 0-100 arası bütün verileri çekiyorum
fakat s1 ve s2 değişkeni yaratıp
.CommandText = "Select * FROM tb1 WHERE Id > s1 and Id < s2 "
yazdıgımda
Runtime Error '1004' : General ODBC error veriyor.
Kodların çoğu kopyala yapıştır
connection DRIVER=MySQL kısmını kendime uyarladım
değişkenleri .CommandText in içine sokabilirsem bir sonraki aşama olarak
hücreye yazdığım tarihler arasındaki bilgiyi getirmesi üzerine çalışacağım.
Excel ve macro bilgim pek yok. Bu aralar databaseden macro ile veri çekmeye çalışıyorum. Databaseye bağlandım ve verileri çekebiliyorum bunda sıkıntım yok.
Fakat veri seçmeyi değişkenler üzerinden yapmaya çalıştığımda hata veriyor.
Kodlar üzerinde açıklamam daha iyi
Kod:
Sub sq()
Dim s1 As Integer
Dim s2 As Integer
s1 = 0
s2 = 100
With ActiveSheet.QueryTables.Add(Connection:=Array(Array("ODBC;DRIVER=MySQL ODBC 5.1 Driver;SERVER=127.0.0.1;UID=;Trusted_Connection=Yes;APP=Microsoft Office 2007;WSID=EUANG6;User=root;Password=pass;DATABASE=Kepware")), Destination:=Range("A1"))
.CommandText = "Select * FROM tb1 WHERE Id > 0 and Id < 100 "
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
.CommandText = "Select * FROM tb1 WHERE Id > 0 and Id < 100 "
bu satırda sql query ile tb1 tablosunda Id si 0-100 arası bütün verileri çekiyorum
fakat s1 ve s2 değişkeni yaratıp
.CommandText = "Select * FROM tb1 WHERE Id > s1 and Id < s2 "
yazdıgımda
Runtime Error '1004' : General ODBC error veriyor.
Kodların çoğu kopyala yapıştır
connection DRIVER=MySQL kısmını kendime uyarladım
değişkenleri .CommandText in içine sokabilirsem bir sonraki aşama olarak
hücreye yazdığım tarihler arasındaki bilgiyi getirmesi üzerine çalışacağım.
