17/07/2018, 19:50
Ribbon Menü
17/07/2018, 22:37
ozanakkaya
basRibbonCallbacks isimli modülde,
Kodunun üzerine
kodu ekleyiniz.
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.
18/07/2018, 08:50
metin02
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
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
18/07/2018, 09:46
ozanakkaya
Ö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
18/07/2018, 10:07
metin02
Teşekkürler. Birimleri sildi ama dönem olan birimlerde eklemiş olduğum hatayı verdi.
18/07/2018, 10:13
metin02
Birde birimde dönem olduğu mesajını gösterip silme işlemini iptal etmesini sağlayabilirmiyiz.