Skip to main content

AccessTr.neT


VB.NET ile Mükerrer Kayıt Uyarısı Nasıl Verilir ?

VB.NET ile Mükerrer Kayıt Uyarısı Nasıl Verilir ?

Çözüldü #1
Aşağıdaki kod ile kayıt yaparken aynı TckimlikNo lu birisi varsa nasıl uyarı verdirebilirim ?
Kod:
'KAYDET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Me.TextBox1.Text = "" Then
MsgBox("Lütfen TCKimlikNo Alanını Doldurunuz. Bu Alan Boş Bırakılamaz.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
Else
Dim sql As New String("INSERT INTO Kayitlar (TckimlikNo,AdiSoyadi,BabaAdi,Ogrencino,DogumYeri,Dogumtarihi,Aciklama) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')")
sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Yandaki Girdiğiniz Veriler Veri Tabanına Kayıt Olmuştur.", MsgBoxStyle.Exclamation, "Tebrikler")
End If
Listele("SELECT * FROM Kayitlar'")
baglanti.Close()
Temizle()
End If
Me.ComboBox1.Text = ""
End Sub

Cevapla
#2
Kod:
Dim myCmdKayitVarmi As New OleDbCommand("SELECT terminalId FROM tblterminal WHERE terminalKodu=@term", myCnn)
            myCmdKayitVarmi.Parameters.AddWithValue("@term", txtTerminalKodu.Text)
            Dim dr As OleDbDataReader = myCmdKayitVarmi.ExecuteReader()

            If dr.HasRows Then
                MessageBox.Show("Bu terminal kodu daha önce kullanılmış. Lütfen yeni bir kod yazınız", "Mükerrer Kayıt", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Else
                ' Yoksa ekleme işlemi burada yapılabilir
            End If

Bu şekilde bir yapı kullanabilirsin.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#3
Alp Hocam bir türlü uyarlayamadım verdiğiniz kodu.
Cevapla
#4
(20/12/2013, 00:34)alican60 yazdı: Alp Hocam bir türlü uyarlayamadım verdiğiniz kodu.

Şöyle bir dene bakalım olacak mı?

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
baglanti.Open()
Dim komut As New OleDbCommand("select * from Kayitlar where TckimlikNo='" & TextBox1.Text & "'", baglanti)
Dim oku As OleDbDataReader = komut.ExecuteReader()
If (oku.Read) Then
MsgBox(TextBox1.Text & " T.C Nosu Daha Önceden Kaydedilmiştir")
Else
If Me.TextBox1.Text = "" Then
MsgBox("Lütfen TCKimlikNo Alanını Doldurunuz. Bu Alan Boş Bırakılamaz.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
Else


Dim Sql As New String("INSERT INTO Kayitlar (TckimlikNo,AdiSoyadi,BabaAdi,Ogrencino,DogumYeri,Dogumtarihi,Aciklama) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')")
Sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Yandaki Girdiğiniz Veriler Veri Tabanına Kayıt Olmuştur.", MsgBoxStyle.Exclamation, "Tebrikler")
End If
Listele("SELECT * FROM Kayitlar'")
baglanti.Close()
oku.Close()
Temizle()
End If
End If
Me.ComboBox1.Text = ""
End Sub
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 20/12/2013, 01:01, Düzenleyen: drummers.
Cevapla
#5
Teşekkür ederim Ömür abi,tam istediğim gibi oldu.
Cevapla
#6
Bu yapıda ki kodlamaya mükerrer kayıt uyarısı verdirip  kaydetmemeyi nasıl yaptırabiliriz.Teşekkürler


Dim SonSatır As Variant

Private Sub CommandButton1_Click()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then

If IsNumeric(TextBox3.Value) Then

SonSatır = WorksheetFunction.CountA(Worksheets("personel").Range("A:A")) + 1

    If SonSatır = 2 Then
        Worksheets("PERSONEL").Cells(SonSatır, 1) = 1
        Worksheets("PERSONEL").Cells(SonSatır, 2) = TextBox1.Value
        Worksheets("PERSONEL").Cells(SonSatır, 3) = TextBox2.Value
        Worksheets("PERSONEL").Cells(SonSatır, 4) = TextBox3.Value
        TextBox1 = ""
        TextBox2 = ""
        TextBox3 = ""
    Else
        Worksheets("PERSONEL").Cells(SonSatır, 1) = Worksheets("personel").Cells(SonSatır - 1, 1) + 1
        Worksheets("PERSONEL").Cells(SonSatır, 2) = TextBox1.Value
        Worksheets("PERSONEL").Cells(SonSatır, 3) = TextBox2.Value
        Worksheets("PERSONEL").Cells(SonSatır, 4) = TextBox3.Value
        TextBox1 = ""
        TextBox2 = ""
        TextBox3 = ""
        MsgBox "KAYIT YAPILDI", vbOKOnly + vbInformation, "Veri Kaydedildi"
    End If
Else
MsgBox "SİCİLNO YA RAKAM GİRİNİZ"
GoTo SoN
End If
Else
MsgBox " İLGİLİ ALANLARI DOLDURUNUZ"
SoN:
End If
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da