AccessTr.neT
"#, Tarihte Söz Dizimi Hatası - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: "#, Tarihte Söz Dizimi Hatası (/konu-tarihte-soz-dizimi-hatasi.html)

Sayfalar: 1 2


"#, Tarihte Söz Dizimi Hatası - HORZUM - 19/05/2025

Kod:
Private Sub Komut1_Click()
On Error GoTo Err_Komut1_Click

    Dim stDocName As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sql As String

    Set db = CurrentDb
   
    sql = "SELECT ID, Tarih, Islem, Uye, Aciklama, Tutar, EvrakTur, EvrakTarih, EvrakNo, Odtarihi, TurTipi " & _
          "FROM T030_BankalarIslem " & _
          "WHERE Month([Tarih]) = 3 AND TurTipi IN ('GELİR', 'ÜYE GELİR')"

    Set rs = db.OpenRecordset(sql, dbOpenSnapshot)

    If rs.EOF Then
        MsgBox "Aktarılacak veri bulunmamaktadır. Lütfen veri seçin.", vbExclamation, "Hata"
        Exit Sub
    End If

    Debug.Print "Tarih Alanı: " & rs!Tarih

    Do While Not rs.EOF
        If Not IsNull(rs!Tarih) Then
            Debug.Print "Tarih: " & rs!Tarih
        Else
            Debug.Print "Tarih değeri yok."
        End If
       
        db.Execute "INSERT INTO tblListe0 (Tarih, Islem, Uye, Aciklama, Tutar, EvrakTur, EvrakTarih, EvrakNo, Odtarihi, TurTipi) " & _
                  "VALUES (#" & Format(rs!Tarih, "dd-mm-yyyy") & "#, '" & rs!Islem & "', '" & rs!Uye & "', '" & rs!Aciklama & "', " & rs!Tutar & ", '" & rs!EvrakTur & "', #" & Format(rs!EvrakTarih, "dd-mm-yyyy") & "#, '" & rs!EvrakNo & "', #" & Format(rs!Odtarihi, "dd-mm-yyyy") & "#, '" & rs!TurTipi & "')"

        rs.MoveNext
    Loop
   
    rs.Close
    Set rs = Nothing

    stDocName = "Rapor6"
    DoCmd.OpenReport stDocName, acPreview

Exit_Komut1_Click:
    Set db = Nothing
    Exit Sub

Err_Komut1_Click:
    MsgBox "Hata: " & Err.Description
    Resume Exit_Komut1_Click

End Sub

Raporu açmaya çalıştığımda # sorgu ifadesi içindeki tarihte söz dizimi hatası verdi. Tarihi dd-mm-yyyy v.b şekillerde denedim ama değişik şekillerde tarıhte söz dizimi hatası verdi. Şimdiden teşekkürler


RE: "#, Tarihte Söz Dizimi Hatası - onur_can - 19/05/2025

Formatta kullandığınız "mm-dd-yyyy" içerisinde düz çizgi yerine / işaretini kullanın, Yani "mm/dd/yyyy" gibi.


RE: "#, Tarihte Söz Dizimi Hatası - HORZUM - 19/05/2025

(19/05/2025, 17:05)onur_can yazdı: Formatta kullandığınız "mm-dd-yyyy" içerisinde düz çizgi yerine / işaretini kullanın, Yani "mm/dd/yyyy" gibi.

#03.24.2025 sorgu ifadesi içindeki tarihte söz dizimi hatası.


RE: "#, Tarihte Söz Dizimi Hatası - berduş - 19/05/2025

dosyanız olmadığı için önerim hatalı olabilir ama siz tarih alanları için (#" & Format(rs!Tarih, "dd-mm-yyyy") & "#
yani tarih olsa da olmasa da # kullandığınız için boş tarihlerde ## geliyor hatanın sebebi bu olabilir


RE: "#, Tarihte Söz Dizimi Hatası - berduş - 19/05/2025

(19/05/2025, 15:14)HORZUM yazdı: db.Execute "INSERT INTO tblListe0 (Tarih, Islem, Uye, Aciklama, Tutar, EvrakTur, EvrakTarih, EvrakNo, Odtarihi, TurTipi) " & _
                  "VALUES (#" & Format(rs!Tarih, "dd-mm-yyyy") & "#, '" & rs!Islem & "', '" & rs!Uye & "', '" & rs!Aciklama & "', " & rs!Tutar & ", '" & rs!EvrakTur & "', #" & Format(rs!EvrakTarih, "dd-mm-yyyy") & "#, '" & rs!EvrakNo & "', #" & Format(rs!Odtarihi, "dd-mm-yyyy") & "#, '" & rs!TurTipi & "')"
yukardaki kısmı aşağıdaki gibi değiştirip dener misiniz?
       xSql = "INSERT INTO tblListe0 (Tarih, Islem, Uye, Aciklama, Tutar, EvrakTur, EvrakTarih, EvrakNo, Odtarihi, TurTipi) " & _
"VALUES ( " & CLng(rs!Tarih) & ", '" & rs!Islem & "', '" & rs!Uye & "', '" & rs!Aciklama & "', " & rs!Tutar & ", '" & rs!EvrakTur & "'," & CLng(rs!Tarih) & ", '" & rs!EvrakNo & "'," & CLng(rs!Tarih) & ", '" & rs!TurTipi & "')"
db.Execute xSql
Not: kodunuzda döngü kullanmanıza gerek var mı? anladığım kadarıyla WHERE Month([Tarih]) = 3 AND TurTipi IN ('GELİR', 'ÜYE GELİR') koşulunu sağlayan her kayıt tblListe0 tablosuna aktarılıyor. döngü yerine aşağıdaki kodla tek seferde eklenebilir
Komut1 düğmesinin kodunu aşağıdaki kodla değiştirip dener misiniz?
Sub Komut1_Click()

Dim xSQL As String

' Sql sorgusu: Verileri seç ve var olan tabloya ekle
xSQL = "INSERT INTO tblListe0 (Tarih, Islem, Uye, Aciklama, Tutar, EvrakTur, EvrakTarih, EvrakNo, Odtarihi, TurTipi) " & _
"SELECT Tarih, Islem, Uye, Aciklama, Tutar, EvrakTur, EvrakTarih, EvrakNo, Odtarihi, TurTipi " & _
"FROM T030_BankalarIslem " & _
"WHERE Month([Tarih]) = 3 AND TurTipi IN ('GELİR', 'ÜYE GELİR');"

' xSQL komutunu çalıştır
Set db = CurrentDb
db.Execute xSQL
Debug.Print db.RecordsAffected, "Veriler HedefTablo'ya eklendi."

End Sub



RE: "#, Tarihte Söz Dizimi Hatası - onur_can - 19/05/2025

Örnek dosya ekleyebilirseniz daha hızlı çözüm alabilirsiniz.