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

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
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
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
ilgili satırı aşağıdaki ile değiştirip deneyiniz.:cool:
Kod:
kurum = "'" & txtKURUM & "'"
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,324
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Denemedim ama; aşağıdaki satırda FROM ifadesinin olmaması gerekiyor gibi ...

Kod:
Set rs = BAGLAN.Execute("UPDATE FROM Tablo_KURUM WHERE Kimlik=" & kimlik)
.
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
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

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,324
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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 ...

.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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)
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,324
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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:
Üst