Hareket Gören Kayıtların Silinmemesi Hakkinda

1 2 3 4
18/03/2020, 12:30

berduş

iyi çalışmalar)
18/03/2020, 13:06

Oğuz Türkyılmaz

Sn.@berduş

Tüm varyasyonları denedim sanırım
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
18/03/2020, 13:11

berduş

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
18/03/2020, 13:22

Oğuz Türkyılmaz

(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.
18/03/2020, 13:34

Oğuz Türkyılmaz

(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.



b-




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
18/03/2020, 13:48

berduş

'   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
1 2 3 4