excel dış veri al da parametre kullanımı

Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Selam arkadaşlar,

Dış veri al ile
SELECT dEP-KOD, DEP-ADI, TIP-KD, TIP_ADI, (SELECT SUM(SATIS-N-TL)FROM SATIS JOIN MALZEME ON (MALZEME-KD= SATIS_MALZEME-KD) WHERE SATIS-TAR BETWEEN '2011-05-01 AND '2011-05-31'
.......


Şeklinde sql cümlemde geçen
SATIS-TAR BETWEEN '2011-05-01 AND '2011-05-31' burdaki başlangıç ve bitiş tarihlerini L2 VE L3 hücrelerinden nasıl alabilirim.

Her seferinde bu sql cümlesine girip elimle düzeltiyorum. Aynı tarih cümle gereğince 5 yerde geçiyor. Varmıdır bir çözümü arkadaşlar.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
aşağıdaki fonksiyonu projeye ekleyip,
Kod:
Function date_conv(tarih As Date) As String
Dim gun, ay  As String
    If Day(tarih) < 10 Then
        gun = "0" & CStr(Day(tarih))
        Else: gun = CStr(Day(tarih))
    End If
    If Month(tarih) < 10 Then
        ay = "0" & CStr(Month(tarih))
        Else: ay = CStr(Month(tarih))
    End If
    date_conv = "'" & CStr(Year(tarih)) & "-" & ay & "-" & gun & "'"
 End Function
sql cümlesini

Kod:
"....SATIS-TAR BETWEEN " & date_conv(range("L2")) & " AND " & date_conv(range("L3"))
şeklinde düzenleyerek deneyiniz.
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
sayın dantex malesef olmadı. denedim yanlış bir durum var mı.
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
' " + range("L1") + " ' böyle denedim L1 HÜCRESİNE 2011-05-01 şeklinde yazdım denedim olmadı
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Sayın Dentex'in kodları kendime uyarladığımda çalışıyor.

Between kullanmayın

tar1 = "{ts '" & Format(range("L1"), "YYYY-MM-DD") & " 00:00:00'}"
tar2 = "{ts '" & Format(range("L2"), "YYYY-MM-DD") & " 00:00:00'}"

eşit büyük eb eşit küçük olarak yazın

...... >= CONVERT(DATETIME," & tar1 & ", 102)) AND ..... <=
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Özür dileyerek sayın arkadaşlarım ben bunu veri al daki sql bölümüne yazıyorum sizde mi oraya yazıyorsunuz bende malesef olmuyor.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Hayır.Kod kısmına

Veri al ile query'e girdiğinizde orada parametre tanımlayabilirsiniz
 
Katılım
3 Aralık 2008
Mesajlar
56
Excel Vers. ve Dili
2003
Bu KONU hakkın da bir örneği olan varsa ekleyebilirmi şimdiden çok teşekkükkürler
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Evet bende bir örnek istiyorum lütfen varsa yapamadım ve çok ihtiyacım var
 
Üst