Skip to main content

AccessTr.neT


Hareket Gören Kayıtların Silinmemesi Hakkinda

Oğuz Türkyılmaz
Oğuz Türkyılmaz
21
2381

Hareket Gören Kayıtların Silinmemesi Hakkinda

#13
iyi çalışmalar)
Cevapla
#14
Sn.@berduş

Tüm varyasyonları denedim sanırım Img-grin  Her bir tablo için if  blok kodu çalıştırıp else ile bitirip bir sonraki tablonun if kodunu yazmaktansa hepsini alt alta yazmaya çalıştım. Ama çalışması için sanırım bir varyasyona daha ihtiyaç var. Img-grin Bir bakarmısınız lütfen.
Private Sub Sil_BTN_Click()

If 0 = Nz(DCount("UyeNo", "T_UyeTahsilat", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or 0 = Nz(DCount("UyeNo", "T_UyeHesap", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or 0 = Nz(DCount("UyeNo", "T_UyeDestek", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or 0 = Nz(DCount("UyeNo", "T_UyeEtkinlik", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or 0 = Nz(DCount("UyeNo", "T_UyeBelgeler", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then


If 0 = Nz(DCount("UyeNo", "T_UyeTahsilat", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or _
if 0 = Nz(DCount("UyeNo", "T_UyeHesap", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or _
if 0 = Nz(DCount("UyeNo", "T_UyeDestek", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or _
if 0 = Nz(DCount("UyeNo", "T_UyeEtkinlik", "[UyeNo]=" & Me.UyeNo_TXT), 0) Or _
if 0 = Nz(DCount("UyeNo", "T_UyeBelgeler", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then

'If 0 = Nz(DCount("UyeNo", "T_UyeTahsilat", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then
'If 0 = Nz(DCount("UyeNo", "T_UyeHesap", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then
'If 0 = Nz(DCount("UyeNo", "T_UyeDestek", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then
'If 0 = Nz(DCount("UyeNo", "T_UyeEtkinlik", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then
'If 0 = Nz(DCount("UyeNo", "T_UyeBelgeler", "[UyeNo]=" & Me.UyeNo_TXT), 0) Then

    If MsgBox("Üye Kaydý ve tüm bilgileri silinecek, Ýþlemin geri dönüþü yoktur. Eminmisiniz ? ", vbCritical + vbYesNo, " !!! DÝKKAT !!! ") = vbYes Then
     
            CurrentDb.Execute "delete from T_Uye where [UyeNo]=" & Me.UyeNo_TXT
     
            Dim fat As Control
                For Each fat In Me.Form.Controls
                Select Case fat.ControlType
                    Case acTextBox
                        fat.Value = ""
                      Case acComboBox
                          fat.Value = ""
                        Case acCheckBox
                            fat.Value = "0"
                End Select
            Next
    End If
Else
 
  MsgBox "DÝKKAT" & vbCrLf & ("Hareket gören kayýtlar silinemez."), vbCritical
 
'End If
'End If
'End If
'End If
End If

End Sub
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#15
1 - tablolar arası ilişki kurmak daha pratik olmaz mı?
2 - hepsi için ayrı ayrı if oluşturacağınız tüm dcountları toplayıp sonuç 0 mi diye kontrol etmek daha uygun olmaz mı?
If dcount(...) + dcount(...) +.....=0 then.....
gibi
Cevapla
#16
(18/03/2020, 13:11)berduş yazdı: 1 - tablolar arası ilişki kurmak daha pratik olmaz mı?
2 - hepsi için ayrı ayrı if oluşturacağınız tüm dcountları toplayıp sonuç 0 mi diye kontrol etmek daha uygun olmaz mı?
If dcount(...) + dcount(...) +.....=0 then.....
gibi
2.maddeyi aklımdan geçirmiştim ama pratikte nasıl yazılır bilmiyordum hemen deneyeceğim.

1. madde Tabloları birbiriy le Uye No alanı üzerinden ilişkilendirdikten sonra ne yapmam gerekecek. Bire çok ilişki kurdum kayıtlarında ana tablodaki kayıt silindiğinde diğer ilişikteki kayıtlar silinmesin diye işaretledim diyelim. Sonrası nasıl gelecek uye harekeketlerini sildirmedik ama uye silinebiliyor. Orayı çözemiyorum.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#17
(18/03/2020, 13:22)Oğuz Türkyılmaz yazdı:
(18/03/2020, 13:11)berduş yazdı: 1 - tablolar arası ilişki kurmak daha pratik olmaz mı?
2 - hepsi için ayrı ayrı if oluşturacağınız tüm dcountları toplayıp sonuç 0 mi diye kontrol etmek daha uygun olmaz mı?
If dcount(...) + dcount(...) +.....=0 then.....
gibi
2.maddeyi aklımdan geçirmiştim ama pratikte nasıl yazılır bilmiyordum hemen deneyeceğim.

1. madde Tabloları birbiriy le Uye No alanı üzerinden ilişkilendirdikten sonra ne yapmam gerekecek. Bire çok ilişki kurdum kayıtlarında ana tablodaki kayıt silindiğinde diğer ilişikteki kayıtlar silinmesin diye işaretledim diyelim. Sonrası nasıl gelecek uye harekeketlerini sildirmedik ama uye silinebiliyor. Orayı çözemiyorum.
Aşağıdaki hatayı aldım.

[Resim: do.php?img=9880]

b-


[Resim: do.php?img=9881]

c-


Private Sub Sil_BTN_Click()

If DCount("UyeNo", "T_UyeTahsilat", "[UyeNo]=" & Me.UyeNo_TXT) + _
  DCount("UyeNo", "T_UyeHesap", "[UyeNo]=" & Me.UyeNo_TXT) + _
  DCount("UyeNo", "T_UyeDestek", "[UyeNo]=" & Me.UyeNo_TXT) + _
  DCount("UyeNo", "T_UyeEtkinlik", "[UyeNo]=" & Me.UyeNo_TXT) + _
  DCount("UyeNo", "T_UyeBelgeler", "[UyeNo]=" & Me.UyeNo_TXT) = 0 Then
 

    If MsgBox("Üye Kaydı ve tüm bilgileri silinecek, İşlemin geri dönüşü yoktur. Eminmisiniz ? ", vbCritical + vbYesNo, " !!! DİKKAT !!! ") = vbYes Then
     
            CurrentDb.Execute "delete from T_Uye where [UyeNo]=" & Me.UyeNo_TXT
     
            Dim fat As Control
                For Each fat In Me.Form.Controls
                Select Case fat.ControlType
                    Case acTextBox
                        fat.Value = ""
                      Case acComboBox
                          fat.Value = ""
                        Case acCheckBox
                            fat.Value = "0"
                End Select
            Next
    End If
Else
 
  MsgBox "DİKKAT" & vbCrLf & ("Hareket gören kayıtlar silinemez."), vbCritical
 

End If

End Sub
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#18
'   Debug.Print DCount("UyeNo", "T_UyeDestek", "[UyeNo]=" & Me.UyeNo_TXT) ' +
'  Debug.Print DCount("UyeNo", "T_UyeEtkinlik", "[UyeNo]=" & Me.UyeNo_TXT) ' +
'  Debug.Print DCount("UyeNo", "T_UyeBelgeler", "[UyeNo]=" & Me.UyeNo_TXT) '
yanılmıyorsam bu satırda hata veriyor çünkü "T_UyeDestek","T_UyeEtkinlik" ve "T_UyeBelgeler" tabloları
en azından yüklediğiniz çalışmada yok
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da