Ado İle Kayit Edilen Bilginin Mukerrer Olmasi Nasil Onlenir? - Oğuz Türkyılmaz - 28/02/2020
Merhaba Asagidaki kod ile tabloya kayit yapiliyor. Fakat formda ileri geri gezinirken herhangi bir kaydin uzerindeyanlislikla tekrar kaydet tusuna basildiginda dogal olarak ayni kaydin 2.bir kopyasini daha tabloya ekliyor. Bu durumun engellenmesi icin ne yapilabilir. msgbox ile islemin engellenmesine yonelik bir durum yaratip sub dan cikilmasini saglamak dogru bir yontem olurmu baska ne gibi bir onlem alinabilir. Tesekkurler.
Private Sub KAYDET_BTN_Click()
If Me.UyeNo_TXT = "" Or IsNull(Me.UyeNo_TXT) Or IsNull(Me.TcNo_TXT) Or Me.TcNo_TXT = "" Or IsNull(Me.AdSoyad_TXT) Or Me.AdSoyad_TXT = _
"" Or Me.DogumTarihi_TXT = "" Or IsNull(Me.DogumTarihi_TXT) Or Me.UyeKabulTarih_TXT = "" Or IsNull(Me.UyeKabulTarih_TXT) Then
If IsNull(Me.AdSoyad_TXT) Or Me.AdSoyad_TXT = "" Then
MsgBox "DÝKKAT" & vbCrLf & "Lütfen Ad Soyad bilgisini giriniz!. " & vbCrLf & "Kayit iþlemi için bu bilginin girilmesi zorunludur", vbCritical
Me.AdSoyad_TXT.SetFocus
Exit Sub
End If
If IsNull(Me.TcNo_TXT) Or Me.TcNo_TXT = "" Then
MsgBox "DÝKKAT" & vbCrLf & "Lütfen Tc kimlik numarasýný giriniz!. " & vbCrLf & "Kayit iþlemi için bu bilginin girilmesi zorunludur", vbCritical
Me.TcNo_TXT.SetFocus
Exit Sub
End If
If IsNull(Me.DogumTarihi_TXT) Or Me.DogumTarihi_TXT = "" Then
MsgBox "DÝKKAT" & vbCrLf & "Lütfen doðum tarihini giriniz!. " & vbCrLf & "Kayit iþlemi için bu bilginin girilmesi zorunludur", vbCritical
Me.DogumTarihi_TXT.SetFocus
Exit Sub
End If
If IsNull(Me.UyeKabulTarih_TXT) Or Me.UyeKabulTarih_TXT = "" Then
MsgBox "DÝKKAT" & vbCrLf & "Lütfen üye kabul karar tarihini Giriniz!. " & vbCrLf & "Kayit iþlemi için bu bilginin girilmesi zorunludur", vbCritical
Me.UyeKabulTarih_TXT.SetFocus
Exit Sub
End If
Else
If MsgBox("Girdiginiz veriler kaydedilecektir, Onayliyormusunuz ", vbExclamation + vbYesNo, "Dikkat") = vbNo Then Exit Sub
Dim rstkayit As ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM T_Uye "
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rstkayit
If Not rstkayit.EOF Then
.AddNew
.Fields("UyeNo") = Me.UyeNo_TXT
.Fields("AdSoyad") = Me.AdSoyad_TXT
.Fields("TcNo") = Me.TcNo_TXT
.Fields("Tabiyeti") = Me.Tabiyeti_TXT
.Fields("DogumTarihi") = Me.DogumTarihi_TXT
.Fields("DogumYeri") = Me.DogumYeri_TXT
.Fields("AnaAd") = Me.AnaAd_TXT
.Fields("BabaAd") = Me.BabaAd_TXT
.Fields("Cinsiyeti") = Me.Cinsiyeti_CBO.Column(0)
.Fields("OgrenimDurumu") = Me.OgrenimDurumu_CBO.Column(0)
.Fields("Meslegi") = Me.Meslegi_TXT
.Fields("SosyalGuvence") = Me.SosyalGuvence_CBO.Column(0)
.Fields("CepNo_1") = Me.CepNo1_TXT
.Fields("CepNo_2") = Me.CepNo2_TXT
.Fields("Irtibat") = Me.Irtibat_TXT
.Fields("Ilce") = Me.Ilce_TXT
.Fields("Sehir") = Me.Sehir_TXT
.Fields("UyeKabulTarih") = Me.UyeKabulTarih_TXT
.Fields("UyeKabulKararNo") = Me.UyeKabulKararNo_TXT
.Fields("UyeIptalTarih") = Me.UyeIptalTarih_TXT
.Fields("UyeIptalKararNo") = Me.UyeIptalKararNo_TXT
.Fields("UyelikIptalNedeni") = Me.UyelikIptalNedeni_TXT
.Fields("E_Mail") = Me.EMail_TXT
.Fields("Adres") = Me.Adres_TXT
.Fields("Aciklama") = Me.Aciklama_TXT
.Fields("KanGrubu") = Me.KanGrubu_CBO.Column(0)
.Fields("EngelNedeni") = Me.EngelNedeni_TXT
.Fields("EngelYuzdesi") = Me.EngelYuzdesi_TXT
.Fields("IlgilendigiSpor") = Me.IlgilendigiSpor_TXT
.Fields("KanadyenBaston") = Me.KanadyenBaston_OKS
.Fields("Yurutec") = Me.Yurutec_OKS
.Fields("Protez") = Me.Protez_OKS
.Fields("Ortez") = Me.Ortez_OKS
.Fields("AkuluAraba") = Me.AkuluAraba_OKS
.Fields("ManuelAraba") = Me.ManuelAraba_OKS
.Fields("Resim") = Me.Resim
.Fields("Durum") = Me.Durum_CBO.Column(0)
.Update
End If
End With
Dim fat As Control
For Each fat In Me.Form.Controls
Select Case fat.ControlType
Case acTextBox
fat.Value = ""
Case acComboBox
fat.Value = ""
Case acCheckBox
fat.Value = "0"
End Select
Next
End If
End Sub
Cvp: Ado İle Kayit Edilen Bilginin Mukerrer Olmasi Nasil Onlenir? - berduş - 28/02/2020
benzersiz kimlik alanınız yok mu onu kullanarak tabloda var mı onu kontrol edebilirsiniz ya da eğer üyeNO gibi elle oluşturulan bir alanınız varsa onu benzersiz olarak ayarladığınızda tekrar kaydı oluşmaz
Cvp: Ado İle Kayit Edilen Bilginin Mukerrer Olmasi Nasil Onlenir? - Oğuz Türkyılmaz - 28/02/2020
(28/02/2020, 16:44)berduş yazdı: benzersiz kimlik alanınız yok mu onu kullanarak tabloda var mı onu kontrol edebilirsiniz ya da eğer üyeNO gibi elle oluşturulan bir alanınız varsa onu benzersiz olarak ayarladığınızda tekrar kaydı oluşmaz Onu simdi yaziyordum sn@berduş onu denedim fakat kaydete bastiginizda bu sefer hic bir aciklama yapmadan direk formu kapatiyor.
Cvp: Ado İle Kayit Edilen Bilginin Mukerrer Olmasi Nasil Onlenir? - Oğuz Türkyılmaz - 28/02/2020
(28/02/2020, 16:48)Oğuz Türkyılmaz yazdı: (28/02/2020, 16:44)berduş yazdı: benzersiz kimlik alanınız yok mu onu kullanarak tabloda var mı onu kontrol edebilirsiniz ya da eğer üyeNO gibi elle oluşturulan bir alanınız varsa onu benzersiz olarak ayarladığınızda tekrar kaydı oluşmaz Onu simdi yaziyordum sn@berduş onu denedim fakat kaydete bastiginizda bu sefer hic bir aciklama yapmadan direk formu kapatiyor. Bu sekilde ayarlayip kullanici kaydete bastiginda bir mesaj verip formun kapatilmamasini nasil saglarim
Cvp: Ado İle Kayit Edilen Bilginin Mukerrer Olmasi Nasil Onlenir? - ozanakkaya - 28/02/2020
strSQL = "SELECT * FROM T_Uye "
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rstkayit
.Find "[benzersizalan]=" & "'" & Me![benzersizalanmetinkutusu] & "'"
If Not rstkayit.EOF Then
.Fields("sucno") = Me.sucno
.Fields("UyeNo") = Me.UyeNo_TXT
.Fields("AdSoyad") = Me.AdSoyad_TXT
.......
......
......
.Update
else
.AddNew
.Fields("sucno") = Me.sucno
.Fields("UyeNo") = Me.UyeNo_TXT
.Fields("AdSoyad") = Me.AdSoyad_TXT
......
.....
.Update
End If
End With
Bu kod formdaki benzersiz alan tabloda var ise günceller, yok ise yeni kayıt olarak ekler.
Cvp: Ado İle Kayit Edilen Bilginin Mukerrer Olmasi Nasil Onlenir? - accessman - 28/02/2020
teşekkürler sn.ozanakkaya
|