Sql-Excelde Harf içeren Hücreye göre sorgu

Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Arkadaşlar merhaba , sql'den exceldeki hücre içeriğine göre veri çeken bir Makro var, ancak bu kodda şöyle bir hata tespit ettim; kod sayı içeren hücrelere göre sorgu yapabiliyor ancak eğer hücre değeri sayı değil de yazı içeriyorsa, kod hata veriyor. L2,M2 ve N2 'deki hücre değerleri birer sayıdır. O2'deki hücre değeri ise bir söz dizisidir. (Euro Dizel yazıyor.)

Kod aşağıdadır.
Saygılar.

Kod:
    Dim alan As Range
Set alan = ActiveWorkbook.Sheets("Sayfa3").Range("a1:z20000")
Sheets("Sayfa3").Select
alan.ClearContents
    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.Miktari, Cari.Satis, Cari.YakitStr, Cari.ay, Cari.yil, Cari.BolgeId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.ay=" & Sheets("Sayfa1").Range("M2").Value & ") AND (Cari.yil=" & Sheets("Sayfa1").Range("L2").Value & ") AND (Cari.YakitStr=" & Sheets("Sayfa1").Range("O2").Value & ") AND (Cari.BolgeId=" & Sheets("Sayfa1").Range("n2").Value & " )" _
        )
        .Name = "OTOSRV kaynağından sorgula"
        .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
        MsgBox "Tamamdır", vbInformation, "M U R A T H."
    End With
End Sub
 
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Konu kapanabilir sevgili yöneticiler
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,491
Excel Vers. ve Dili
Ofis 365 Türkçe
Neden kapanıyor?

Çözümü bulduysanız paylaşmanız iyi olmaz mıydı?


Not : alfanümerik değerleri tek tıknak içinde vermek gerek.
 
Katılım
13 Mart 2006
Mesajlar
142
Excel Vers. ve Dili
2007 ve sonrası (TR)
merhaba;
Sorunun çözümünü paylaşmaya ne dersiniz?
 
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Sorun şu şekilde çözüldü :

Kod:
Sheets("Sayfa1").Range("O2").Value
kısmı

Kod:
"'" & Sheets("Sayfa1").Range("O2").Value & "'"

ile değiştirildi.

Saygılar
 
Üst