Excelden Veri Alma Ve Kaydı Güncelleme

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
03/02/2020, 22:37

berduş

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
03/02/2020, 22:52

feraz

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") & """ );"
03/02/2020, 22:54

yahyamacit

Teşekkür ederim Üstadlar. Sağolun.
03/02/2020, 22:55

berduş

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:59

feraz

(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.
03/02/2020, 23:00

berduş

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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19