28/02/2020, 16:40
Oğuz Türkyılmaz
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