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.
Tablolardan Veri Silmek.
merhaba
Ekteki örnek işinizi görür mü?
Ekteki örnek işinizi görür mü?
Hocam eklediğiniz uygulamadaki kodları kendi uygulamama ekledim. Hata verdi çalışmadı.
Hatalar:
1-) butonun tıklandığında olayında
Kodu mevcut, ancak hata denetimindeki kod
Her iki kod aynı değil, hata durumunda Err_FaturaSil_Click kodunu arayacak ama bu kod yok.
2-)
şeklinde kod eklenmiş, şifreler eşit ise koddan çık demişsiniz. Şifreler eşit ise kayıt silinmesi gerekli.
ş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
Şeklinde olmalı.
Umarım anlaşılır olmuştur.
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.
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.
Son Düzenleme: 30/07/2018, 18:15, Düzenleyen: m_demir.
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.
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
Konuyu Okuyanlar: 1 Ziyaretçi