sorgularda kullandığınız tek tırnak
' yerine 2 çift Tırnak (
"") kullanmayı dener misiniz?
CurrentDb.Execute _
"UPDATE Tablo1 SET [kod] = """ & rs(0) & """," & _
"[ad] = """ & rs(1) & """," & _
"[yas] = """ & rs(2) & """," & _
"[Tarih] = """ & rs(1) & """" & _
"WHERE [kod] = """ & rs(0) & """"
CurrentDb.Execute _
"INSERT INTO Tablo1" _
& " ([kod], [ad], [yas], [tarih])" _
& " VALUES ( """ & rs(0) & """ , """ & rs(1) & """ , " & rs(2) & ", """ & Format(rs(3), "dd.mm.yyyy") & """ );" 'Kayit ekle exceldekinde olup accesste mevcut olmayan veri
Berduş hocamıza teşekkürler bu çift tırnaklar için
Alttaki gibi değişecek kodlar.
Berduş hocamız sayı alanında eksik yapmış hata verdi böyle hatasız.
Normalde sayıi çin kalıplar
'" & xxx & "
' metin için " & xxx & " oluyor bende bişey öğrenmiş oldum.
If DCount("[kod]", "Tablo1", "[kod] = """ & rs(0) & """") > 0 Then
ElseIf DCount("[kod]", "Tablo1", "[kod] = """ & rs(0) & """") = 0 Then
CurrentDb.Execute _
"UPDATE Tablo1 SET [kod] = """ & rs(0) & """," & _
"[ad] = """ & rs(1) & """," & _
"[yas] = '" & rs(2) & "'," & _
"[Tarih] = """ & rs(1) & """" & _
"WHERE [kod] = """ & rs(0) & """"
CurrentDb.Execute _
"INSERT INTO Tablo1" _
& " ([kod], [ad], [yas], [tarih])" _
& " VALUES ( """ & rs(0) & """ , """ & rs(1) & """ , '" & rs(2) & "', """ & Format(rs(3), "dd.mm.yyyy") & """ );"
Teşekkür ederim Üstadlar. Sağolun.
ama bence içinde ' bulunabilecek alanları replace fonksiyonu ile düzeltebilirsiniz.
CurrentDb.Execute _
"UPDATE Tablo1 SET [kod] = '" & rs(0) & "'," & _
"[ad] = '" & Replace(rs(1), "'", "''") & "'," & _
"[yas] = '" & rs(2) & "'," & _
"[Tarih] = '" & rs(1) & "'" & _
"WHERE [kod] = '" & rs(0) & "'"
ve
CurrentDb.Execute _
"INSERT INTO Tablo1" _
& " ([kod], [ad], [yas], [tarih])" _
& " VALUES ( '" & rs(0) & "' , '" & Replace(rs(1), "'", "''") & "' , " & rs(2) & ", '" & Format(rs(3), "dd.mm.yyyy") & "' );" 'Kayit ekle exceldekinde olup accesste mevcut olmayan veri
gibi
(03/02/2020, 22:55)berduş yazdı: [ -> ]ama bence içinde ' bulunabilecek alanları replace fonksiyonu ile düzeltebilirsiniz.
CurrentDb.Execute _
"UPDATE Tablo1 SET [kod] = '" & rs(0) & "'," & _
"[ad] = '" & Replace(rs(1), "'", "''") & "'," & _
"[yas] = '" & rs(2) & "'," & _
"[Tarih] = '" & rs(1) & "'" & _
"WHERE [kod] = '" & rs(0) & "'"
ve
CurrentDb.Execute _
"INSERT INTO Tablo1" _
& " ([kod], [ad], [yas], [tarih])" _
& " VALUES ( '" & rs(0) & "' , '" & Replace(rs(1), "'", "''") & "' , " & rs(2) & ", '" & Format(rs(3), "dd.mm.yyyy") & "' );" 'Kayit ekle exceldekinde olup accesste mevcut olmayan veri
gibi
Dcount lardada olacak abey.Bundan sonra en garantisi başa ''' sonada ''' eklemek metin için
Kodları edit ve addnew olarak nasıl yapacaktık birde onu ekleseniz.
Belki daha hızlı olur.
Bende yaparım lakin siz daha tecrübelisiniz.
son mesajdaki gibi replace fonksiyonuyla tek tırnağı, çift tektırnak yapınca ifadede ' ta olsa "" da olsa sorun çıkmıyor ama 44. mesajdaki gibi yapınca bu sefer de ifade de çift tırnak olunca hata veriyor