Soru sql sorgu satırında tarih formatı

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Aşağıdaki kod ile veri tabanından aldığım verileri excel sayfasına aktarıyorum.
C++:
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")

If ComboBox5.Value = "ELEKTRIK" Then
prog = ComboBox5.Value
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,fatura_tarihi,fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & prog & "' "
           rs.Open strSQL, baglan, 1, 1
s1.Range("b2").CopyFromRecordset rs
rs.Close
End If
Sorgu satırındaki fatura_tarihi sorgusunda "gg mm yyyy" formatında gelen veriyi "mmmm yyyy" formatına dönüştürerek sayfaya aktarmak istiyorum.
Örnek; veriler mevcut kod ile kırmızı dairedeki formatta yazılıyor mavi kutudaki formatta olmasını istiyorum.
Format dönüşümünü nasıl yapmalıyım?
223271
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,056
Excel Vers. ve Dili
Microsoft Office 2019 English
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")

If ComboBox5.Value = "ELEKTRIK" Then
prog = ComboBox5.Value
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,CONVERT(VARCHAR(2),MONTH(fatura_tarihi)) + '-' + CONVERT(VARCHAR(4),YEAR(fatura_tarihi)) AS [Fatura_Tarihim],fatura_tutari " & _
"FROM fatura " & _
"WHERE abone_adi='" & prog & "' "
rs.Open strSQL, baglan, 1, 1
s1.Range("b2").CopyFromRecordset rs
rs.Close
End If

Şöyle dener misiniz.
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")

If ComboBox5.Value = "ELEKTRIK" Then
prog = ComboBox5.Value
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,CONVERT(VARCHAR(2),MONTH(fatura_tarihi)) + '-' + CONVERT(VARCHAR(4),YEAR(fatura_tarihi)) AS [Fatura_Tarihim],fatura_tutari " & _
"FROM fatura " & _
"WHERE abone_adi='" & prog & "' "
rs.Open strSQL, baglan, 1, 1
s1.Range("b2").CopyFromRecordset rs
rs.Close
End If

Şöyle dener misiniz.
hata mesajı döndü üstat.
223274
 

Necdet

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

Ben çat pat Oracle kullandığım için zamanında daha select kısmında istenen tarihin biçimini vermek gerekiyordu, hatırladığım kadarıyle

Select TO_CHAR(Tarih, "MMMM yyyy") from ....

gibi. Diğer dillerde ise bunu çevirecek yapıyı bilmeniz gerek.
Bilmiyorsanız işi VBA ya bırakabilirsiniz. İstediğiniz tarih sütununun biçimini sorgu bittikten sonra dönüştürebilirsiniz.
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,056
Excel Vers. ve Dili
Microsoft Office 2019 English
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")

If ComboBox5.Value = "ELEKTRIK" Then
prog = ComboBox5.Value
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,fatura_tarihi,fatura_tutari " & _
"FROM fatura " & _
"WHERE abone_adi='" & prog & "' "
rs.Open strSQL, baglan, 1, 1
s1.Range("b2").CopyFromRecordset rs
Columns("K:K").Select
Selection.NumberFormat = "mmmm$yyyy"
rs.Close
End If
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")

If ComboBox5.Value = "ELEKTRIK" Then
prog = ComboBox5.Value
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,fatura_tarihi,fatura_tutari " & _
"FROM fatura " & _
"WHERE abone_adi='" & prog & "' "
rs.Open strSQL, baglan, 1, 1
s1.Range("b2").CopyFromRecordset rs
Columns("K:K").Select
Selection.NumberFormat = "mmmm$yyyy"
rs.Close
End If
Teşekkür ederim, vba çözdü işi :))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,438
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sorguyu aşağıdaki gibi deneyiniz. Belki istediğiniz sonuca ulaşabilirsiniz.

C++:
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,Format(fatura_tarihi, 'mmmm yyyy'),fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & prog & "' "
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Sorguyu aşağıdaki gibi deneyiniz. Belki istediğiniz sonuca ulaşabilirsiniz.

C++:
strSQL = "SELECT birim_adi,isletme_kodu,abone_no,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,Format(fatura_tarihi, 'mmmm yyyy'),fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & prog & "' "
Teşekkür ederim Korhan hocam, format dönüşümü gerçekleşti.
 
Üst