Merhabalar
İlişkisiz bir Uye Tanımlama formum var. Kaydetme ve silme fonksiyonları calısıyor. Bilgilerde deöişiklik yapma ihtiyacı olduğunda ilgili Formda Düzenle Tusunun olay yordamında update mi kullanmalıyım yoksa silip tekrar kaydetme seklinde mi çalıştırmalıyım. Silip tekrar kaydetme yontemı sanki daha mantıklı ve cabuk gibi ama bır sakınca cıkma ıhtımali varmı sonucta bu üyenin database de hareketleri olacak hareket gormus bır kaydı sildirmek ve tekrar kaydetmek mantıklı mı ?
Sn.Oguz Turkyilmaz
Ben bu sekilde bir form kullansaydim, kesinlikle update tusu kullanirdim. Cunku ayni kisiye ait baska yerlerde kayitlar olabilir.
Karar tabiki sizin
Kolay gelsin
(27/02/2020, 14:36)orhantanriverdi yazdı: [ -> ]Sn.Oguz Turkyilmaz
Ben bu sekilde bir form kullansaydim, kesinlikle update tusu kullanirdim. Cunku ayni kisiye ait baska yerlerde kayitlar olabilir.
Karar tabiki sizin
Kolay gelsin
Yanıtınız için çok teşekkür ederim. Öyle yapayım.
Ekleme sorgusu veya güncelleme sorgusu yerine ado kullanın. Sorguda tablodaki alanın veri tipine göre sorunlar çıkabilir.
Kayıt eklemek için;
strSQL = "SELECT * FROM tabloadı "
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rstkayit
If Not rstkayit.EOF Then
.AddNew
.Fields("tablodakialan1") = Me.metinkutusu1
.Fields("tablodakialan2") = Me.acilankutu.Column(0)
.Update
End If
End With
Kayıt güncellemek için;
strSQL = "SELECT * FROM tabloadı "
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rstkayit
.Find "[kayitno]=" & "'" & Me![KAYITNO] & "'"
If Not rstkayit.EOF Then
.Fields("tablodakialan1") = Me.metinkutusu1
.Fields("tablodakialan2") = Me.acilankutu.Column(0)
.Update
End If
End With
Ado kodunda tablodaki alanlar ve formdaki denetimleri alt alta yazdığı için net görebilirsiniz ve hata olasılığı azalır.
Bu kodun kullanılması için ado referansının eklenmesi gerekli.
Çok teşekkür ederim ozan bey bu cevabın gelmesi cok iyi oldu.