• DİKKAT

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

Sql'de Hücre Değeri ile Sorgu Yapmak

  • Konbuyu başlatan Konbuyu başlatan quesh
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Arkadaşlar aşağıdaki kodda
"WHERE (Cari.ay=12) AND (Cari.yil=2010) " _
, "AND (Cari.BolgeId=500)")
kısmında ben rakama eşit olması yerine bir hücre değerine eşit olamsını istiyorum. yani örneğin Cari.Ay=12 yerine Cari.Ay= "Sayfa1'deki A1 hücresi" olsun istiyorum. kodu nasıl düzenleyebilirim?

teşekkürler


Sub sorgu()

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=OTOSRV;Description=OTOSRV;UID=sa;;APP=Microsoft Office 2003;WSID=MURAT-PC;DATABASE=TRIGONDATAMERKEZ;Network=DBMSSOCN" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT Cari.YakitTipiId, Cari.Miktari, Cari.Satis, Cari.YakitKodu, Cari.gun, Cari.ay, Cari.yil, Cari.BolgeId, Cari.IllerId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.ay=12) AND (Cari.yil=2010) " _
, "AND (Cari.BolgeId=500)")
.Name = "OTOSRV kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
 
Arkadaşlar aşağıdaki kodda
"WHERE (Cari.ay=12) AND (Cari.yil=2010) " _
, "AND (Cari.BolgeId=500)")
kısmında ben rakama eşit olması yerine bir hücre değerine eşit olamsını istiyorum. yani örneğin Cari.Ay=12 yerine Cari.Ay= "Sayfa1'deki A1 hücresi" olsun istiyorum. kodu nasıl düzenleyebilirim?

teşekkürler



Aşağıdaki şekilde denermisiniz sayfa1 ve A1 - A2-A3 kendi çalışma tablonuza göre düzenleyin


Kod:
Sub sorgu()

AYY = Sheets("Sayfa1").Range("A1").Value
YILL = Sheets("Sayfa1").Range("A2").Value
DGR = Sheets("Sayfa1").Range("A3").Value


With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=OTOSRV;Description=OTOSRV;UID=sa;;APP=Mi crosoft Office 2003;WSID=MURAT-PC;DATABASE=TRIGONDATAMERKEZ;Network=DBMSSOCN" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT Cari.YakitTipiId, Cari.Miktari, Cari.Satis, Cari.YakitKodu, Cari.gun, Cari.ay, Cari.yil, Cari.BolgeId, Cari.IllerId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.ay=AYY) AND (Cari.yil=YILL) " _
, "AND (Cari.BolgeId=DGR)")
.Name = "OTOSRV kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
 
Malesef alttaki hatayı alıyorum
"RunTime Error 1004 - Genel ODBC HAtası"

Kodun Aşağıda yazılı kısmı Sarı renk oluyor


.Refresh BackgroundQuery:=False



Aşağıdaki şekilde denermisiniz sayfa1 ve A1 - A2-A3 kendi çalışma tablonuza göre düzenleyin


Kod:
Sub sorgu()

AYY = Sheets("Sayfa1").Range("A1").Value
YILL = Sheets("Sayfa1").Range("A2").Value
DGR = Sheets("Sayfa1").Range("A3").Value


With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=OTOSRV;Description=OTOSRV;UID=sa;;APP=Mi crosoft Office 2003;WSID=MURAT-PC;DATABASE=TRIGONDATAMERKEZ;Network=DBMSSOCN" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT Cari.YakitTipiId, Cari.Miktari, Cari.Satis, Cari.YakitKodu, Cari.gun, Cari.ay, Cari.yil, Cari.BolgeId, Cari.IllerId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.ay=AYY) AND (Cari.yil=YILL) " _
, "AND (Cari.BolgeId=DGR)")
.Name = "OTOSRV kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
 
Değerli ustalarım

Gerçekten çok önemli bir konu üzerinde uğraşmaktayım. aklınıza birşey geliyorsa lütfen paylaşınız....
 
Geri
Üst