Skip to main content

AccessTr.neT


Formdan Tabloya Update Mi Kullanılmalı Yoksa Silip Tekrar Kaydetmek Mi Mantıklı.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
4
611

Formdan Tabloya Update Mi Kullanılmalı Yoksa Silip Tekrar Kaydetmek Mi Mantıklı.

Çözüldü #1
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ı ?
[Resim: do.php?img=9750]
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
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
Cevapla
#3
(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.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#4
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.
Cevapla
#5
Çok teşekkür ederim ozan bey bu cevabın gelmesi cok iyi oldu.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task