Skip to main content

AccessTr.neT


Ribbon Menü

Ribbon Menü

#13
Önceki mesajımda kodu Case "btnBrmYonKadet" kodunun üzerine eklemeniz gerektiğini yazmıştım. Siz ise kod bloğunun en altına hata durumunda çalışacak yere yazmışsınız. 
KODU Case "btnBrmYonKadet" KODUNUN ÜZERİNE YAZIN.

   Case "btnBrmYonSil"

Dim silinecek_firma As String
Dim fso
AccessTrneT_BirimNo = Forms![FRM_BIRIM_YONETIMI]![txtBirimNo]

DoCmd.SetWarnings False

   If MsgBox("Seçtiğiniz Birime ait Veri slinecektir. " & vbCrLf & vbCrLf & "Birimi Silmek İstediğinize emin misiniz?.", vbCritical + vbYesNo, "birimSilmeOnayi") = vbYes Then
   
       silinecek_firma = CurrentProject.Path & "\Birimler\DataBirim\Birim" & AccessTrneT_BirimNo
                     
           Set fso = CreateObject("Scripting.FileSystemObject")
           If fso.FolderExists(silinecek_firma) = True Then
               fso.deleteFolder (silinecek_firma)
           End If
                 
       DoCmd.RunSQL "DELETE BIRIMNO FROM TBLBİRİMLER WHERE (((BIRIMNO)='" & AccessTrneT_BirimNo & "'));"
       MsgBox "Birim başarıyla silindi.", vbInformation + vbOKOnly, "İşlem Başarılı"
       
   End If
       
       If Nz(DCount("*", "TBLDONEMLER", "BIRIMNO='" & AccessTrneT_BirimNo & "'"), 0) > 0 Then
       
           If MsgBox("Birime Ait Dönem Kaydı Mevcut. Kayıt Silinsin mi?", vbYesNo) = vbYes Then
           
               DoCmd.RunSQL "DELETE BIRIMNO FROM TBLDONEMLER WHERE (((BIRIMNO)='" & AccessTrneT_BirimNo & "'));"
               MsgBox "Dönem başarıyla silindi.", vbInformation + vbOKOnly, "İşlem Başarılı"
           End If
       
       End If
       
       
   
       Forms![FRM_BIRIM_YONETIMI].Requery
       Forms![FRM_BIRIM_YONETIMI]!Lst_Birim.Requery
       Forms![FRM_BIRIM_YONETIMI]!txtEmpTotal = Forms![FRM_BIRIM_YONETIMI]!Lst_Birim.ListCount
       
       DoCmd.SetWarnings True
Cevapla
#14
Teşekkürler.
Anlatmak istediğim şu: Silinecek birimin altında dönem  varsa silme işlemini gerçekleştirmeyecek. Önce dönemin silinmesini isteyecek.
Cevapla
#15
Case "btnBrmYonSil"
 
Dim silinecek_firma As String
Dim fso
AccessTrneT_BirimNo = Forms![FRM_BIRIM_YONETIMI]![txtBirimNo]
 
Dim varmi_donem As Byte
   varmi_donem = DCount("DONEMYILI", "TBLDONEMLER", "BIRIMNO='" & AccessTrneT_BirimNo & "'")
   If varmi_donem > 0 Then
       MsgBox "Seçtiğiniz Birime ait çalışma dönemi mevcut." & vbCrLf & vbCrLf & "Birimi silmek istediğinizden eminseniz önce tüm dönemleri silmelisiniz.", vbCritical + vbOKOnly, "Mevcut Dönemler Var"
       Forms![FRM_BIRIM_YONETIMI].Undo
       Exit Sub
   Else
       If MsgBox("Birimi sildiğiniz takdirde tüm bilgilerinizi kaybedeceksiniz!!!" & vbCrLf & vbCrLf & " " & Forms![FRM_BIRIM_YONETIMI]![txtBirimAdi] & " Biriminin kayıtlarını silmek istediğinize emin misiniz?", vbCritical + vbYesNo, "Kritik İşlem Kararı!") = vbYes Then
           silinecek_firma = CurrentProject.Path & "\Birimler\DataBirim\Birim" & AccessTrneT_BirimNo
           DoCmd.SetWarnings False
           Set fso = CreateObject("Scripting.FileSystemObject")
               If fso.FolderExists(silinecek_firma) = True Then
                   fso.deleteFolder (silinecek_firma)
               End If
           DoCmd.RunSQL "DELETE BIRIMNO FROM TBLDONEMLER WHERE (((BIRIMNO)='" & AccessTrneT_BirimNo & "'));"
           Forms![FRM_BIRIM_YONETIMI].Requery
           Forms![FRM_BIRIM_YONETIMI]!Lst_Birim.Requery
           Forms![FRM_BIRIM_YONETIMI]!txtEmpTotal = Forms![FRM_BIRIM_YONETIMI]!Lst_Birim.ListCount
           MsgBox "Birim başarıyla silindi.", vbInformation + vbOKOnly, "İşlem Başarılı"
           DoCmd.SetWarnings True
           End If
End If
Cevapla
#16
Elinize sağlık.
Birim klasöründen siliyor ancak Tbl_BİRİMLER tablosundan silmiyor.
Cevapla
#17
Önceki mesajda yazdığım kodda, silme sorgusundaki tablo ismini TBLBİRİMLER olarak değiştirin.
Cevapla
#18
Ozan bey teşekkürler.
Sorun çözülmüştür.
Hayırlı günler. +rep
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task