access veri tabanlı vba'da aynı kaydı yapmasını engelleme

Katılım
24 Aralık 2020
Mesajlar
108
Excel Vers. ve Dili
excel 2010
Altın Üyelik Bitiş Tarihi
01-01-2022
arkadaşlar merhaba access veri tabanlı bi çalışma yapıyorum. birincil anahtarı oluşturmadan aynı kaydı yapmasını engellemek istiyorum aşağıdaki kodlarla kayıt yapıyorum ama aynı kaydı güncelleme yaptığımda birincil anahtar olmadığında yeni kayıt açıyor. nasıl düzenleyebilirim

Private Sub CommandButton1_Click()
Dim baglan As New Connection
Dim rs As New Recordset

On Error Resume Next


baglan.Open "Provider=Microsoft.Ace.Oledb.12.0;data source=\\BAYOGLU\SipPro\master.accdb;"
rs.Open "select * from siparis where Kimlik", baglan, adOpenKeyset, adLockPessimistic
rs.AddNew

If Me.TextBox1.Text <> "" Then rs.Fields(1) = Me.TextBox1.Text
If Me.TextBox2.Text <> "" Then rs.Fields(2) = Me.TextBox2.Text
If Me.ComboBox1.Text <> "" Then rs.Fields(3) = Me.ComboBox1.Text
If Me.ComboBox2.Text <> "" Then rs.Fields(4) = Me.ComboBox2.Text
If Me.TextBox3.Text <> "" Then rs.Fields(5) = Me.TextBox3.Text
If Me.TextBox4.Text <> "" Then rs.Fields(6) = Me.TextBox4.Text
If Me.TextBox5.Text <> "" Then rs.Fields(7) = Me.TextBox5.Text
If Me.TextBox6.Text <> "" Then rs.Fields(8) = Me.TextBox6.Text
If Me.TextBox7.Text <> "" Then rs.Fields(9) = Me.TextBox7.Text
If Me.ComboBox3.Text <> "" Then rs.Fields(10) = Me.ComboBox3.Text
If Me.ComboBox4.Text <> "" Then rs.Fields(11) = Me.ComboBox4.Text
If Me.TextBox8.Text <> "" Then rs.Fields(12) = Me.TextBox8.Text
If Me.TextBox9.Text <> "" Then rs.Fields(13) = Me.TextBox9.Text

cevap = MsgBox("Sipariş Kaydı Yapıldı", vbOKOnly, "YENİ KAYIT")
Call siparislistesi
Call Siparis_Bilgileritemizle

rs.Update
rs.Close
baglan.Close
End Sub
 
Üst