AccessTr.neT

Tam Versiyon: Ribbon Menü
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Hayırlı akşamlar.
Eklemiş olduğum dosyada birim sil butonunu form üzerinde yapabildim ancak menüde yapamadım. Menüde Yeni birim ekle ve kaydet yaptım.
Yardımcı olursanız sevinirim teşekkürler.
basRibbonCallbacks isimli modülde,


Case "btnBrmYonKadet"



Kodunun üzerine


Case "btnBrmYonSil"

If MsgBox(Forms![FRM_BIRIM_YONETIMI]![txtBirimNo] & " numaralı birimi silmek istediğinize emin misiniz", vbCritical + vbYesNo) = vbYes Then
   DoCmd.SetWarnings False
   DoCmd.RunSQL "DELETE BIRIMNO FROM TBLBİRİMLER WHERE (((TBLBİRİMLER.BIRIMNO)='" & Forms![FRM_BIRIM_YONETIMI]![txtBirimNo] & "'));"
   DoCmd.SetWarnings True
   Forms![FRM_BIRIM_YONETIMI].Requery
End If


kodu ekleyiniz.
Teşekkürler.
Kodlar çalışıyor ancak  bu birimlerin altında birde dönemler var. Dönem olduğu zaman hata veriyor.
Aşağıdaki kodlar form üzerinde bulunan butona ait.

On Error GoTo Hata_Yakala
Dim varmi_donem As Byte
Dim silinecek_firma As String
    varmi_donem = DCount("DONEMYILI", "TBLDONEMLER", "BIRIMNO='" & Me.txtBirimNo & "'")
    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"
        Me.Undo
        Exit Sub
    Else
        If MsgBox("Birimi sildiğiniz takdirde tüm bilgilerinizi kaybedeceksiniz!!!" & vbCrLf & vbCrLf & " " & Me.txtBirimAdi & " Biriminin kayıtlarını silmek istediğinize emin misiniz?", vbCritical + vbYesNo, "Kritik İşlem Kararı!") = vbYes Then
            silinecek_firma = CurrentProject.Path & "\Birimler\DataBirim\Birim" & Me.txtBirimNo
            DoCmd.SetWarnings False
            RmDir silinecek_firma
            DoCmd.RunCommand acCmdDeleteRecord
            Me.Lst_Birim.Requery
            Me.txtEmpTotal = Me.Lst_Birim.ListCount
            MsgBox "Birim başarıyla silindi.", vbInformation + vbOKOnly, "İşlem Başarılı"
            DoCmd.SetWarnings True
    End If
Hata_Cikis:
Me.Undo
    End If
    Exit Sub
Hata_Yakala:
    If Err.Number = 75 Then
        MsgBox "Silme işlemi gerçekleştirilemedi. Eğer program açık ise programdan çıkış yapmalısınız.", vbCritical + vbOKOnly, "Kritik Hata"
    End If
    Resume Hata_Cikis
Önceki mesajımda yazdığım kodu aşağıdaki ile değiştirerek deneyiniz.

Case "btnBrmYonSil"


   If MsgBox("Seçtiğiniz Birime ait çalışma dönemi mevcut." & vbCrLf & vbCrLf & "Birimi sildiğinizde çalışma dönemi de silinecektir. Dönemi ve Birimi Silmek İstediğinize emin misiniz?.", vbCritical + vbYesNo, "Mevcut Dönemler Var") = vbYes Then
   
       silinecek_firma = CurrentProject.Path & "\Birimler\DataBirim\Birim" & Forms![FRM_BIRIM_YONETIMI]![txtBirimNo]
       DoCmd.SetWarnings False
       RmDir silinecek_firma
   
       DoCmd.RunSQL "DELETE BIRIMNO FROM TBLDONEMLER WHERE (((BIRIMNO)='" & Forms![FRM_BIRIM_YONETIMI]![txtBirimNo] & "'));"
       DoCmd.RunSQL "DELETE BIRIMNO FROM TBLBİRİMLER WHERE (((BIRIMNO)='" & Forms![FRM_BIRIM_YONETIMI]![txtBirimNo] & "'));"
       DoCmd.SetWarnings True
       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
[Resim: KnAUIk.png][Resim: f3AodY.png]
Teşekkürler. Birimleri sildi ama dönem olan birimlerde eklemiş olduğum hatayı verdi.
Birde birimde dönem olduğu mesajını gösterip silme işlemini iptal etmesini sağlayabilirmiyiz.
Sayfalar: 1 2 3