• DİKKAT

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

MySQL veritabanından veri çekme

Katılım
1 Temmuz 2010
Mesajlar
2
Excel Vers. ve Dili
Excel 12 TR
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
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.
 
forumda gezinirken bir kod farkettim ve yazdım çalıştı:)
değişkenleri yanlış yazıyormuşum

.CommandText = "Select * FROM tb1 WHERE Id > " & s1 & " and Id < " & s2 & " "

.CommandText = "Select * FROM tb1 WHERE Id > " & [m5].Value & " and Id < " & [m6].Value & " "
yazdığımda ise m5 ve m6 hücrelerine bakıyor
 
hallettim gibi sinir edici bir cevap vermediğiniz için kendi adıma teşekkür etmek istedim
 
Geri
Üst