• DİKKAT

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

Excelden VBA ile SQL Sorgusu Değişken Sorunu

Katılım
19 Eylül 2006
Mesajlar
67
Excel Vers. ve Dili
office 2007 tr
Excel sorgu sihirbazı vasıtası ile SQL veri tabanından bilgi sorgulaması yaptım ve bunu makro olarak keydettim
Yapmaya çalıştığım ama yapamadığım bir şey var.
SQL sorgusunda belirli bir sayıyı sorgulayabiliyorum bu makroyla ancak istediğim şey sorgulamamın aşağıda işaretli olan kısmının değişken olması. Çeşitli değişken tanımlamaları yaptım ancak sorgu da yazılmasını istediğim değer yerine her zaman değişkenin adı geldi.
Yani Sayfa1 A1 hücresine bir değer yazdığımda ve sorguyu çalıştırdığımda aşağıda kırmızı ile işaretli yerde sorgu kriteri olarak A1'e yazdığım değer sorgulansın istiyorum.

Sorguyu bu şekilde çalıştırabilmem için nasıl bir yol izlemem gerekir bilgisi olan varsa ve paylaşabilirse sevinirim.

Kodlar:
Sheets("sayfa3").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=DISCILIK;UID=MERCEK;;SERVER=EFES;", Destination:=Sheets("Sayfa3"). _
Range("A2"))
.CommandText = Array( _
"SELECT VSATONAYBELGELERI.BUTCE_YILI, VSATONAYBELGELERI.VPROJENO, VSATONAYBELGELERI.ONAY_TARIHI, VSATONAYBELGELERI.ILAN_SEKLI, VSATONAYBELGELERI.RUMUZ, VSATONAYBELGELERI.DIGER_ACK" & Chr(13) & "" & Chr(10) & "FROM OPUS.VSATONAYBE" _
, _
"LGELERI VSATONAYBELGELERI" & Chr(13) & "" & Chr(10) & "WHERE (VSATONAYBELGELERI.BUTCE_YILI='2009') AND (VSATONAYBELGELERI.VPROJENO='1100')" & Chr(13) & "" & Chr(10) & "ORDER BY VSATONAYBELGELERI.VPROJENO" _
)
.Name = "DISCILIK kaynağından sorgula_1"
.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
Sheets("Sayfa3").Select
End Sub
 
ilgili satırı aşağıdaki ile değiştisriniz ve deneyiniz..:cool:
Kod:
(VSATONAYBELGELERI.VPROJENO=" & [B][COLOR="Red"]cdbl( range("A1").value)[/COLOR][/B] & ")" & Chr(13) & "" & Chr(10) & "ORDER BY VSATONAYBELGELERI.VPROJENO" _
 
ilgili satırı aşağıdaki ile değiştisriniz ve deneyiniz..:cool:
Kod:
(VSATONAYBELGELERI.VPROJENO=" & [B][COLOR="Red"]cdbl( range("A1").value)[/COLOR][/B] & ")" & Chr(13) & "" & Chr(10) & "ORDER BY VSATONAYBELGELERI.VPROJENO" _

sayın hocam çok teşekkür ederim. Oldu. :)
 
Geri
Üst