• DİKKAT

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

Soru sql sorgu satırında tarih formatı

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
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
 
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.
 
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
 
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.
 
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
 
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 :))
 
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 & "' "
 
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.
 
Geri
Üst