- 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ı değişken olarak tanımladım.
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 yerdeki sayılı sipariş çağrılması gerekirken "ora_01722 hatası alıyorum (Sayı olması gereken alanda başka bir veri var). Sanırım değişken tanımlamasını beceremedim. Bu konuda yardımcı olabilirseniz çok sevinirim.
Kodlar:
Range("A2").Select
With Selection.QueryTable
.Connection = "ODBC;DSN=discilik;UID=mercek;;SERVER=efes;"
.CommandText = Array( _
"SELECT VSATSIPARIS.PROJE_NO, VSATSIPARIS.SIPARIS_NO, VSATSIPARIS.BARKOD, VSATSIPARIS.MIKTAR_MUHTELIF, VSATSIPARIS.MIKTAR_BOLUMLER, VSATSIPARIS.FIYAT, VSATSIPARIS.IHALE_MALHIZMET_KODU, VSATSIPARIS.FIRM" _
, _
"A_KODU, VSATSIPARIS.BUTCE_YILI" & Chr(13) & "" & Chr(10) & "FROM OPUS.VSATSIPARIS VSATSIPARIS" & Chr(13) & "" & Chr(10) & "WHERE (VSATSIPARIS.SIPARIS_NO=" & CDbl(Range("A1").Value) & ") AND (VSATSIPARIS.BUTCE_YILI='2010')" & Chr(13) & "" & Chr(10) & "ORDER BY VSATSIPARIS.PROJE_NO, VSATSIPARIS.SIPARIS_NO, VSA" _
, _
"TSIPARIS.BARKOD, VSATSIPARIS.MIKTAR_MUHTELIF, VSATSIPARIS.MIKTAR_BOLUMLER, VSATSIPARIS.FIYAT, VSATSIPARIS.IHALE_MALHIZMET_KODU, VSATSIPARIS.FIRMA_KODU, VSATSIPARIS.BUTCE_YILI" _
)
.Refresh BackgroundQuery:=True
End With
End Sub
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ı değişken olarak tanımladım.
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 yerdeki sayılı sipariş çağrılması gerekirken "ora_01722 hatası alıyorum (Sayı olması gereken alanda başka bir veri var). Sanırım değişken tanımlamasını beceremedim. Bu konuda yardımcı olabilirseniz çok sevinirim.
Kodlar:
Range("A2").Select
With Selection.QueryTable
.Connection = "ODBC;DSN=discilik;UID=mercek;;SERVER=efes;"
.CommandText = Array( _
"SELECT VSATSIPARIS.PROJE_NO, VSATSIPARIS.SIPARIS_NO, VSATSIPARIS.BARKOD, VSATSIPARIS.MIKTAR_MUHTELIF, VSATSIPARIS.MIKTAR_BOLUMLER, VSATSIPARIS.FIYAT, VSATSIPARIS.IHALE_MALHIZMET_KODU, VSATSIPARIS.FIRM" _
, _
"A_KODU, VSATSIPARIS.BUTCE_YILI" & Chr(13) & "" & Chr(10) & "FROM OPUS.VSATSIPARIS VSATSIPARIS" & Chr(13) & "" & Chr(10) & "WHERE (VSATSIPARIS.SIPARIS_NO=" & CDbl(Range("A1").Value) & ") AND (VSATSIPARIS.BUTCE_YILI='2010')" & Chr(13) & "" & Chr(10) & "ORDER BY VSATSIPARIS.PROJE_NO, VSATSIPARIS.SIPARIS_NO, VSA" _
, _
"TSIPARIS.BARKOD, VSATSIPARIS.MIKTAR_MUHTELIF, VSATSIPARIS.MIKTAR_BOLUMLER, VSATSIPARIS.FIYAT, VSATSIPARIS.IHALE_MALHIZMET_KODU, VSATSIPARIS.FIRMA_KODU, VSATSIPARIS.BUTCE_YILI" _
)
.Refresh BackgroundQuery:=True
End With
End Sub