Konuyu tekrar sorulara taşıdım, dosya ekleyebilirsiniz.
Sayın @
yahyamacit benim gönderdiğim çalışmadaki-hızlı yöntem kodlari- yanlış sonuçlar mi veriyor?
2 dosyayı da şimdi tekrar inceledim ve kast ettiğinizi şeyi anladım ama şöyle bir sorun var diyelim ki rasgele 5 kaydın sadece KOD kısmını değiştirip A5 yaptım
yani aynı A5 koduna fakat farklı/aynı değerlere sahip 5 kaydımız oldu.
eski sistemde excelde tek A5 kaydı olduğundan accessteki 5 kaydı da exceldeki A5 kaydına dönüştürüyor
son kullandığım kodda ise bu 5 tane A5 kaydı silinip exceldeki tek A5e çevriliyor
kodları incelediğim kadarıyla [Kod] sütunundaki değerlerin benzersiz olması gerekmiyor mu bir nevi kimlik gibi.
Benzersizliği bilmiyorumda A5 varsa değişecek
If 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) & "'"
yukardaki koda dikkat ederseniz
Access tablosundaki tüm A5 li kayıtlar aynı değere güncelleniyor. excelde 5 tane A5li kayıt olsa bile accessteki tüm A5li kayıtlar exceldeki son A5li kaydın değerini alacak demek olur. Çünkü rs recordseti exceldeki tüm kayıtlar içinde sırayla dolaşır. dolayısıyla son A5 değerini accessteki tüm A5lere atar. yani Kod sütunu benzersiz olmalı hem excelde hem Accesste. Bu açıdan bakarsanız son yöntem -dosyadaki hızlı yöntemi- hem daha hızlı hem daha uygun gibi.
Yaptığım çalışmanın son şekli bu şekilde. İncelerseniz sevinirim.
Excel dosyasındaki mükerrer kaydı oluşturmadım. Aslında iyi olurdu. Yorumlarınız.
B2 den itibaren aynı veri girmeye çalışın fark edersiniz.