Sql kodundaki tarih kısıtını excel hücresinden alma

Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
Merhaba,
Elimizde "SELECT SUM(TBLMCEK.TUTAR) FROM TBLMCEK INNER JOIN TBLBNKHESSABIT ON TBLBNKHESSABIT.NETHESKODU=TBLMCEK.SC_VERILENK WHERE TBLMCEK.VADETRH < "05.01.2011" AND TBLMCEK.SC_SONDUR="B" AND TBLBNKHESSABIT.ACIKLAMA="INGBANK TEMİNAT ÇEKLERİ" GROUP BY TBLBNKHESSABIT.ACIKLAMA " şeklinde bir sql sorgusu var. Bu sorgudaki "05.01.2011" tarihini, her defasında girip kodun içinden düzeltmek yerine; kodun bu tarihi, tarihin girileceği bir excel hücresinden veya bir inputboxtan almasını nasıl sağlayabiliriz?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba,
Elimizde "SELECT SUM(TBLMCEK.TUTAR) FROM TBLMCEK INNER JOIN TBLBNKHESSABIT ON TBLBNKHESSABIT.NETHESKODU=TBLMCEK.SC_VERILENK WHERE TBLMCEK.VADETRH < "05.01.2011" AND TBLMCEK.SC_SONDUR="B" AND TBLBNKHESSABIT.ACIKLAMA="INGBANK TEMİNAT ÇEKLERİ" GROUP BY TBLBNKHESSABIT.ACIKLAMA " şeklinde bir sql sorgusu var. Bu sorgudaki "05.01.2011" tarihini, her defasında girip kodun içinden düzeltmek yerine; kodun bu tarihi, tarihin girileceği bir excel hücresinden veya bir inputboxtan almasını nasıl sağlayabiliriz?
Pek anlamam ama;

Kod:
"05.01.2011"
yukarıdaki kodun yerine aşağıdaki kodla değiştirin

Kod:
& Cells(1, "A").Value &
not : tarihi A1 hücresinden alır.
 
Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
Ek bilgi olarak şunu da söylemek istiyorum. Bu kod, bir erp yazılımının veritabanından veri almaktadır. Rapor da bu yazılıma entegre edilmiş bir excel sayfasında yer almakta ve burdan yani excelden çalışmaktadır. Yani excelin sunduğu nimetlerle bu sorunun halledilebileceğini zannediyorum. Araştırma yapıyorum fakat programlama bilgim sadece bu sql kodlarını yazabilecek seviyede olduğu için sonuca ulaşamıyorum.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Birde böyle deneyin

Kod:
& CDate(Cells(1, "A").Value) &
başkada aklımdan bir şey gelmiyor.
 
Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
Kod:
& CDate(Cells(1, "A").Value) &
Malesef bu da olmadı. Birkaç değişik şekilde de deniyorum. Tırnak içinde falan yazıp. sql kod hata veriyor hep.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kod:
& CDate(Cells(1, "A").Value) &
Malesef bu da olmadı. Birkaç değişik şekilde de deniyorum. Tırnak içinde falan yazıp. sql kod hata veriyor hep.
Birde sadece böyle dene

Kod:
Cells(1, "A").Value
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,207
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Birde aşağıdaki şekilde denermisiniz.

Kod:
[B]"SELECT SUM(TBLMCEK.TUTAR) FROM TBLMCEK INNER JOIN TBLBNKHESSABIT ON TBLBNKHESSABIT.NETHESKODU=TBLMCEK.SC_VERILENK WHERE TBLMCEK.VADETRH < [COLOR=red]" & Cdbl(CDate(Cells(1, "A").Value) & "[/COLOR] AND TBLMCEK.SC_SONDUR="B" AND TBLBNKHESSABIT.ACIKLAMA="INGBANK TEMİNAT ÇEKLERİ" GROUP BY TBLBNKHESSABIT.ACIKLAMA "
[/B]
 
Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
Sayın Korhan Ayhan ve halit3, en son yazdıklarınızı da denedim. Olmadı malesef:(
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kod:
[B]"05.01.2011"[/B]
iki tırnak arasındaki tarih değerine bir isim yazıp denermisiniz. mesela

Kod:
[B]"deneme"[/B]
 
Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
iki tırnak arasındaki tarih değerine bir isim yazıp denermisiniz. mesela

o zaman da hata veriyor. ama kod çalışıyor ondan müsterih olun.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,362
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Olmaması doğal.

Sql i hiç kullanmadım o yüzden sormam gerek.

Eğer vt oracle olsaydı oracle da değişkenler çift tırnak değil tek tırnak arasında verilir.

sql de değişkenler çift tırnak arasında mı veriliyor?

Eğer durum bu ise tarihi hem bir hücreden alacak hemde tarihi sql cümlesi içinde "01.08.2010" şeklinde düzenlenmesi gerekecektir diye düşünüyorum.

Fikir olması açısından kodlarınızın tamamını görmek daha mantıklı olurdu.
 
Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
Dosyada deneme yapıp sonuçlarını görmek için programa bağlanmak gerekeceği için dosyayı eklememiştim. Yoksa dosyayı görmeden çözüm üretmenizi istemek gibi bir zahmete katlanmanızı istemezdim tabiki.
Kodun tamamını ilk mesajımda vermiştim. Sql, sayı haricinde her şeyi iki tırnak arasına almamızı istiyor. Yoksa dikkate almıyor verileni.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,362
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Dener misiniz? bende merak ettim. A1 hücresinde tarih olduğu varsayılmıştır.

Kod:
Dim Tarih As String
Dim sql As String
Tarih = """" & Format([A1], "dd.mm.yyyy") & """"
sql = "SELECT SUM(TBLMCEK.TUTAR) FROM TBLMCEK INNER JOIN TBLBNKHESSABIT ON TBLBNKHESSABIT.NETHESKODU=TBLMCEK.SC_VERILENK WHERE TBLMCEK.VADETRH < " & _
Tarih & " AND TBLMCEK.SC_SONDUR=""B"" AND TBLBNKHESSABIT.ACIKLAMA=""INGBANK TEMİNAT ÇEKLERİ"" GROUP BY TBLBNKHESSABIT.ACIKLAMA "
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
son hakkımı kullanmak istiyorum.
birde bunu deneyin

Kod:
"""" & Cells(1, "A").Value & """"
 
Katılım
14 Haziran 2011
Mesajlar
88
Excel Vers. ve Dili
Excel 2007, Türkçe
Merhaba,

Dener misiniz? bende merak ettim. A1 hücresinde tarih olduğu varsayılmıştır.

Kod:
Dim Tarih As String
Dim sql As String
Tarih = """" & Format([A1], "dd.mm.yyyy") & """"
sql = "SELECT SUM(TBLMCEK.TUTAR) FROM TBLMCEK INNER JOIN TBLBNKHESSABIT ON TBLBNKHESSABIT.NETHESKODU=TBLMCEK.SC_VERILENK WHERE TBLMCEK.VADETRH < " & _
Tarih & " AND TBLMCEK.SC_SONDUR=""B"" AND TBLBNKHESSABIT.ACIKLAMA=""INGBANK TEMİNAT ÇEKLERİ"" GROUP BY TBLBNKHESSABIT.ACIKLAMA "
Yalnız şöyle bir şey var. Bu excel dosyasından erp programına giriş yapıyorum. Çalışan kod, sadece verdiğim sql kodu. ve o da bir hücrede yer alıyor.
Dim Tarih As String
Dim sql As String
Tarih = """" & Format([A1], "dd.mm.yyyy") & """"
Yukarıda verdiğiniz bu kodu nereye yapıştıracağım? Visual Basic düzenleyicisinde yazdığım zaman compile error verdi.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,362
Excel Vers. ve Dili
Ofis 365 Türkçe
kodları boşuna istemedik herhalde :)

ne olduğunu tam olarak görmek için, illa biryerlere bağlanmak için değildi.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,362
Excel Vers. ve Dili
Ofis 365 Türkçe
Tekrar Merhaba,

"SELECT SUM(TBLMCEK.TUTAR) FROM TBLMCEK INNER JOIN TBLBNKHESSABIT ON TBLBNKHESSABIT.NETHESKODU=TBLMCEK.SC_VERILENK WHERE TBLMCEK.VADETRH < " & _
"""" & Format([A1], "dd.mm.yyyy") & """" & " AND TBLMCEK.SC_SONDUR=""B"" AND TBLBNKHESSABIT.ACIKLAMA=""INGBANK TEMİNAT ÇEKLERİ"" GROUP BY TBLBNKHESSABIT.ACIKLAMA "
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kod:
[COLOR=red]"[/COLOR]05.01.2011[COLOR=red]"[/COLOR]
Anlamak amacıyla soruyorum yukarıdaki bölüme ait tarihin sağında ve solunda olan kırmızı işaretli tırnakları sildiğinizden eminmisiniz.

eğer silmediyseniz. yukarıdaki bölümü yani tırnak işaretleriyle beraber silip aşağıdaki bölümü ekleyip denermiziniz.

Kod:
"""" & Cells(1, "A").Value & """"
 
Üst