• DİKKAT

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

SQL'den Excel'e Veri Çekme

bthn35

Altın Üye
Katılım
12 Kasım 2009
Mesajlar
201
Excel Vers. ve Dili
365 ProPlus TR
Merhaba,
Excel'de aşağıdaki kodu kullanarak SQL'den verileri excel'e aktarıyorum ancak yapmak istediğim kodu hiç değiştirmeden bir buton yardımıyla koddaki tarih aralığını belirleyip öyle kodu çekmem mümkün mü?

Kod:
SELECT TOP 2000 [PrimaryObjectName],
      [MessageUTC]
      ,[SecondaryObjectName]   
FROM [SWHSystemJournal].[dbo].[JournalLog]
where SecondaryObjectName like '%tur%' and MessageUTC between '2018-06-25 00:00:00' and '2018-07-01 23:59:00'
 
Selam;
Tr1="2018-06-25 00:00:00"
Tr2="2018-07-01 23:59:00"
.......
where SecondaryObjectName like '%tur%' and MessageUTC between '" & Tr1 &"' and '" & Tr2 &"'"
şeklinde denermisiniz
 
hatayı göremiyorum,
tırnak işaretlerinde problem olabilir mi?
 
Aşağıdakileri herhangi 2 satıra yapıştırmam yeterli mi? Yoksa başka bir işlem mi yapmam gerekiyor?
Tr1="2018-06-25 00:00:00"
Tr2="2018-07-01 23:59:00"
 
Where satırında da tarihler yerine değişkenleri yazmanız gerekir
 
Önerilen değişken değerleri ADO & VBA kodu gerektirir. Anladığım kadarıyla Excelin "dış veri" özelliğini kullanacaksınız.
Microsoft query ile dış veri alarak editörde kısıt kısmına köşeli parantez [] yazıp parametre özelliği açılır. Nasıl yapıldığı konusunu buradan tarif etmek de biraz zor.
 
verdiği hata tırnak işareti ile ilgili bir hata

SELECT TOP 2000 [PrimaryObjectName],
[MessageUTC]
,[SecondaryObjectName]
FROM [SWHSystemJournal].[dbo].[JournalLog]
Tr1="2018-06-25 00:00:00"
Tr2="2018-07-01 23:59:00"
where SecondaryObjectName like '%tur%' and MessageUTC between ' "& Tr1 &" ' and ' " & Tr2 &" '

bu şekilde denermisiniz...
 
CommandText'i, ancak makro ile değişken yapabilirsiniz.F1 ve F2 hücrelerini metin olarak biçimlendirin ve hücrelere tarihleri 2018-06-25 00:00:00 şeklinde girin F3'e ise adı veya adın bir kısmını girin makroyu çalıştırın
Kod:
Sub Makro2()
    With Range("A1").ListObject.QueryTable
        .CommandText = Array( _
        "Select PrimaryObjectName, MessageUTC, SecondaryObjectName from JournalLog where SecondaryObjectName like '%" & Range("f3") & "%' an" _
        , "d MessageUTC between '" & Range("f1") & "' And '" & Range("f2") & "'")
        .Refresh BackgroundQuery:=False
    End With
End Sub
 
Geri
Üst