"#, 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.
|