• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru Access veritabanına kayıt ekle, sil değiştir

  • Konbuyu başlatan Konbuyu başlatan s.savas
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Merhaba arkadaşlar.
Userform3 ile access veritabanına kayıt ekle, değiştir ve sil işlemlerini deneme yanılma ile yapmaya çalışıyorum.
Kayıt ekle ve sil kodları çalışırken değiştir kodu çalışmıyor.
Nerede hata yapıyorum.
Kod:
Private Sub Kayıt_ekle()
On Error GoTo hata

kurum = "'" & txtKURUM & "'"


Call BAGLANTI
Set rs = BAGLAN.Execute("INSERT INTO Tablo_KURUM (KURUMU) Values (" & kurum & ")")

Set BAGLAN = Nothing: Set rs = Nothing:
listeye_al
temizle
MsgBox " " & kurum & " başarı ile eklendi.", vbInformation + vbOKOnly, "Kayıt ekleme"

Label25.Caption = "Toplam kayıt:" & ListBox1.ListCount

hata:
If Err = -2147217913 Then
    MsgBox "Hatalı değer girdiniz.", vbCritical + vbOKOnly, "Hata"
End If
End Sub
Kod:
Private Sub değiştir()
On Error GoTo hata

Dim kimlik As Integer
kimlik = txKimlik
kurumu = "'" & txtKURUM & "'"

Call BAGLANTI
Set rs = BAGLAN.Execute("UPDATE FROM Tablo_KURUM WHERE Kimlik=" & kimlik)
'Set rs = BAGLAN.Execute("UPDATE Tablo_KURUM SET KURUMU=" & kurum & "WHERE KIMLIK=" & kimlik)

Set BAGLAN = Nothing: Set rs = Nothing:
listeye_al
temizle
MsgBox " " & kurumu & " isimli kayıt güncellendi.", vbInformation + vbOKOnly, "Kayıt yenileme"

hata:
If Err = -2147217913 Then
    MsgBox "Bu bir hatadır.", vbCritical + vbOKOnly, "Hata"
End If
End Sub
Kod:
Private Sub Kayıt_Silmek()
If txKimlik = "" Then
    MsgBox "Önce listeden çift tıklayarak bir veri seçin.", vbCritical + vbOKOnly, "Rehberden kayıt silmek"
    Exit Sub
End If

Dim kimlik As Integer
kimlik = txKimlik

Call BAGLANTI
Set rs = BAGLAN.Execute("DELETE FROM Tablo_KURUM WHERE Kimlik=" & kimlik)

Set BAGLAN = Nothing: Set rs = Nothing:
listeye_al
temizle
MsgBox kimlik & " seri numaralı kayıt silindi.", vbInformation + vbOKOnly, "Kayıt silme"
Label25.Caption = "Toplam kayıt:" & ListBox1.ListCount
End Sub
 
ilgili satırı aşağıdaki ile değiştirip deneyiniz.:cool:
Kod:
kurum = "'" & txtKURUM & "'"
 
Denemedim ama; aşağıdaki satırda FROM ifadesinin olmaması gerekiyor gibi ...

Kod:
Set rs = BAGLAN.Execute("UPDATE FROM Tablo_KURUM WHERE Kimlik=" & kimlik)

.
 
Denemedim ama; aşağıdaki satırda FROM ifadesinin olmaması gerekiyor gibi ...

Kod:
Set rs = BAGLAN.Execute("UPDATE FROM Tablo_KURUM WHERE Kimlik=" & kimlik)

.
Haluk hocam aynı kodlar userform1 de çalışıyor ancak tabloda birden çok alan var.
Çalışmayan kod ise görüldüğü üzere sadece otomatik sayı ve kurum alanından ibaret.
Örnek dosyam ekte.
 

Ekli dosyalar

Bende Access olmadığı için MDB dosyasının içeriğini göremiyorum. Belki tablo veya alan(lar)da bir sıkıntı olabilir ...

.
 
Siz değiştir prosedüründe tablo olarak PERSONEL tablosunu yapmışsınız.
Ama sorduğunuz soruda ise KURUM tablosu üzerinde değişiklik yapmak istediğinizi yazmışsınız.
Yani sağ gösterip sol vurmuşsunuz.
Ne yapılacağını kesinleştirirseniz ona göre cevap yazılacaktır.:cool:
 
Userform3 için sormuşsunuz.
İlgili Kodu aşağıdaki ile değiştiriniz.:cool:

Kod:
Set rs = BAGLAN.Execute("UPDATE Tablo_KURUM SET KURUMU=" & kurum & " WHERE Kimlik=" & kimlik)
 
Bende Access olmadığı için MDB dosyasının içeriğini göremiyorum. Belki tablo veya alan(lar)da bir sıkıntı olabilir ...
.

Kod:
Set rs = BAGLAN.Execute("UPDATE Tablo_KURUM SET KURUMU=" & kurum & " WHERE Kimlik=" & kimlik)

Sorun alan adındaymış demek .... KIMLIK <>Kimlik

Kod:
Sub Test()
    Set BAGLAN = CreateObject("adodb.connection")
    BAGLAN.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\PERSONEL.mdb;"
    
    Set rs = BAGLAN.Execute("Select * FROM Tablo_KURUM")
    MsgBox "Tablo_KURUM tablosu:    " & rs(0).Name
    
    Set rs = BAGLAN.Execute("Select * FROM PERSONEL")
    MsgBox "PERSONEL tablosu:        " & rs(0).Name
End Sub

.
 
Son düzenleme:
Geri
Üst