Skip to main content

AccessTr.neT


Tablolardan Veri Silmek.

Tablolardan Veri Silmek.

Çözüldü #1
Merhaba Hocalarım.

Eklediğim uygulamada FaturaArşivi Formunda Listede müşteriyi seçip. İlgili metin kutularına alarak faturayı siliyorum.

Faturayı yanlışlıkla silmemek için Fatura sil butonuna tıkladığım zaman parola istesin. Faturayı silmek için. şifre kodunu ekledim şifre uyarısı ekrana geliyor.  Şifreyi girip okey butonuna tıkladığım zaman hata veriyor. Faturayı silmiyor.
.rar MALZEME SATIŞI-12.rar (Dosya Boyutu: 1,02 MB | İndirme Sayısı: 3)
Cevapla
#2
merhaba 
Ekteki örnek işinizi görür mü?
.rar vt1.rar (Dosya Boyutu: 10 KB | İndirme Sayısı: 4)
Cevapla
#3
Hocam eklediğiniz uygulamadaki kodları kendi uygulamama ekledim. Hata verdi çalışmadı.
.rar MALZEME SATIŞI-12.rar (Dosya Boyutu: 1,04 MB | İndirme Sayısı: 1)
Cevapla
#4
Hatalar:
1-) butonun tıklandığında olayında 


On Error GoTo Err_FaturaSil_Click

Kodu mevcut, ancak hata denetimindeki kod


Err_FaturaSil__Click:

Her iki kod aynı değil, hata durumunda Err_FaturaSil_Click kodunu arayacak ama bu kod yok.

2-)


If InputBox("Lütfen Silme Şifresini Giriniz") = Sifre Then
Exit Sub

şeklinde kod eklenmiş, şifreler eşit ise koddan çık demişsiniz. Şifreler eşit ise kayıt silinmesi gerekli.


If InputBox("Lütfen Silme Şifresini Giriniz") <> Sifre Then
    MsgBox ("hatali sifre")
    Exit Sub
else

....silme kodu buraya.....

end if

şeklinde kod olmalı ki, şifreler uyuşmadığında işlem yapmasın, uyuştuğunda silsin.

3-) Eklediğiniz silme kodunu formdaki geçerli kaydı siler. Ancak, formun kayıt kaynağındaki sorgudan dolayı geçerli kayıt silemezsiniz. Sorgu güncelleştirilebilir bir sorgu değil, salt okunur. Silme işleminin faturaid alanına göre FaturaBilgisi ve FaturaDetay tablolarından yapılması gerekli. Silme kodunuz

  DoCmd.SetWarnings False

   DoCmd.RunSQL "DELETE FaturaID FROM FaturaBilgisi WHERE (((FaturaID)=" & Me.FaturaID & "));"
   DoCmd.RunSQL "DELETE FaturaID FROM FaturaDetay WHERE (((FaturaID)=" & Me.FaturaID & "));"

   DoCmd.SetWarnings True

Şeklinde olmalı.

Umarım anlaşılır olmuştur.
Cevapla
#5
Hocam eklediğiniz kodları Fatura Sil butonun tıklandığına olayına ekledim. Herhalde bir yerlerde yanlışlık yaptım kod çalışmadı hata verdi. Bakabilirmisiniz.
.rar MALZEME SATIŞI-12.rar (Dosya Boyutu: 1,03 MB | İndirme Sayısı: 3)
Son Düzenleme: 30/07/2018, 18:15, Düzenleyen: m_demir.
Cevapla
#6
Merhaba;
Form üzerindeki Adı Soyadı alanın ad özelliğien AdıSoyati yazmışnısınız. Kod tarafında AdıSoyadı olarak kullanmışsınız.
FaturaSil butonun kodunu aşağıdaki ile değiştirip denermisiniz?
Birde FaturaSil_LostFocus() kod bloğundaki 
DoCmd.GoToRecord , , acNewRec
kodunu kaldırın.
Yada başına tırnak " ' " işareti koyun
İyi çalışmalar.
On Error GoTo Err_FaturaSil_Click

If IsNull(Me.AdıSoyati) Then MsgBox "<<<< LÜTFEN SİLMEK İSTEDİĞİNİZ MÜŞTERİYİ SEÇİNİZ >>>>", 48, "Kayıt İşlemi": Me.AdıSoyati.SetFocus: Exit Sub  '''''
'Exit Sub

Dim Sifre As String
Sifre = "1"

If InputBox("Lütfen Silme Şifresini Giriniz") <> Sifre Then
   MsgBox ("hatali sifre")
   Exit Sub
Else

 DoCmd.SetWarnings False

   DoCmd.RunSQL "DELETE FaturaID FROM FaturaBilgisi WHERE (((FaturaID)=" & Me.FaturaID & "));"
   DoCmd.RunSQL "DELETE FaturaID FROM FaturaDetay WHERE (((FaturaID)=" & Me.FaturaID & "));"

   DoCmd.SetWarnings True
MsgBox "silindi"
Me.Liste.Requery
Exit_FaturaSil_Click:
   Exit Sub

Err_FaturaSil_Click:
   MsgBox Err.Description
   Resume Exit_FaturaSil_Click
   'Form.AllowDeletions = False
Exit Sub
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