Imports C1.Win.C1TrueDBGrid Public Class PruefschrittDetailsBearbeitung #Region "Deklarationen" Dim Pruefresultatnr As Integer Dim OnRefresh_Findings As Boolean = False Dim m_pruefschrittnr As Integer Property Pruefschrittnr As Integer Get Return m_pruefschrittnr End Get Set(value As Integer) m_pruefschrittnr = value Me.Pruefresultatnr = value End Set End Property Dim m_handler As Integer Property Handler As Integer Get Return m_handler End Get Set(value As Integer) m_handler = value End Set End Property Dim m_readonly As Boolean Property IsReadonly As Boolean Get Return m_readonly End Get Set(value As Boolean) m_readonly = value End Set End Property Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder Dim sec As New Utils.MySecurity Dim msg As New Utils.MyMessage Dim FormReadonly As Boolean = False Dim FormDataChanged As Boolean = False Dim Pruefschrittresultat As New clsPruefschrittResultat Dim pruefschrittstatus As New clsStatus Dim Pruefschritt As New clsPruefschritt #End Region #Region "Closing / Check_Changes" ''' ''' Schliessen des Formulars ''' ''' ''' ''' Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If Me.FormReadonly = True Then Exit Sub If Me.IsReadonly = True Then Exit Sub evh.pruefschrittResultat_Close(Me.Handler, Me.Pruefschrittnr) If Check_Changes() = False Then e.Cancel = True Else Me.Dispose() End If End Sub ''' ''' Prüfung, ob Datenänderungen vorgenommen wurden. ''' ''' Private Function Check_Changes() As Boolean If Me.FormReadonly Then Return True Exit Function End If Dim msgres As MsgBoxResult If Me.FormDataChanged Then msgres = msg.Show_MessageYesNoCancel(3) Select Case msgres Case MsgBoxResult.Yes save_data() Return True Case MsgBoxResult.Cancel Return False Case MsgBoxResult.No Me.FormDataChanged = False Return True End Select Else Return True End If End Function #End Region #Region "Eventhandler ChangeEreignisse" ''' ''' Allg Eventhandler für Chanage-Ereignise festlegen ''' ''' ''' Private Sub AddChanges(ByVal Container As Control) Dim l As New List(Of Control) Me.GetControl(Me, "*", l) Dim evh As EventHandler = AddressOf ChangesMade For Each c As Control In l If TypeOf c Is NumericUpDown Then Dim ctl As NumericUpDown = c AddHandler ctl.ValueChanged, evh End If If TypeOf c Is TextBox Then Dim ctl As TextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is MaskedTextBox Then Dim ctl As MaskedTextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is ComboBox Then Dim ctl As ComboBox = c If ctl.Name <> "cbboxResultatText" Then AddHandler ctl.SelectedValueChanged, evh End If If TypeOf c Is RichTextBox Then Dim ctl As RichTextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is CheckBox Then If c.Name <> "cboxNurAktive" Then Dim ctl As CheckBox = c AddHandler ctl.CheckedChanged, evh End If End If If TypeOf c Is CheckedListBox Then Dim ctl As CheckedListBox = c AddHandler ctl.ItemCheck, AddressOf ChecketListBoxChange End If If TypeOf c Is DateTimePicker Then Dim ctl As DateTimePicker = c AddHandler ctl.ValueChanged, evh End If Next End Sub ''' ''' Envent-Handler für Change-Ereignisse ''' ''' ''' ''' Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) If UCase(sender.name) = "TXTFINDINGBEZEICHNUNG" Or UCase(sender.NAME) = "TXTFINDINGBESCHREIBUNG" Then Exit Sub If UCase(sender.name) = "TXTMASSNAHMEBEZEICHNUNG" Or UCase(sender.NAME) = "TXTMASSNAHMEBESCHREIBUNG" Or UCase(sender.NAME) = "TXTMASSNAHMERESULTAT" Then Exit Sub Me.FormDataChanged = True Dim objtype As System.Type = sender.GetType If objtype.Name = "MaskedTextBox" Then Dim o As MaskedTextBox = sender If o.Text = "01.01.1900" Then o.Text = " . . " End If End Sub Private Sub ChecketListBoxChange(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Me.FormDataChanged = True End Sub Private Sub generalhandler() Me.FormDataChanged = True End Sub ''' ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung ''' ''' Base-Contrlo (z.B. aktuelles Formular ''' Schlüssel welcher gesucht werden soll ''' Liste der gefundenen Objekte ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. ''' ''' Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean If L Is Nothing Then L = New List(Of Control) Dim Gut As Boolean Dim ReturnFlag As Boolean = False If Key IsNot Nothing Then Key = Key.ToLower If BaseControl.HasChildren = True Then For Each ctl As Control In BaseControl.Controls Gut = False If Key Is Nothing Then Gut = True Else If ctl.Name.Length >= Key.Length Then Key = Key.ToLower If Key.StartsWith("*") Then If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True ElseIf Key.EndsWith("*") Then If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True Else If Key = ctl.Name.ToLower Then Gut = True End If End If End If If Gut = True Then L.Add(ctl) If ReturnAtFirstElement = True Then ReturnFlag = True End If If ReturnFlag = False Then Call GetControl(ctl, Key, L) End If Next End If If L.Count - 1 > -1 Then Return True Else Return False End If End Function #End Region #Region "Fomular" Private Sub PruefschrittDetailsBearbeitung_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.Cursor = Cursors.WaitCursor Application.DoEvents() Try Me.Pruefschrittresultat.Get_Data(Pruefresultatnr) If Me.Pruefschrittresultat.daten.Rows.Count = 0 Then Me.Pruefschrittresultat.Add_New(Pruefresultatnr) End If Pruefschritt.Get_Data(Me.Pruefschrittnr) Refresh_Details() Refresh_Finding_Dokumente() Refresh_Allgemeine_Dokumente pruefschrittstatus.Get_Mögliche_Status(Pruefschritt.iStatusnr, cbboxStatus) For Each r As DataRow In Pruefschritt.PruefschrittResultattext.Rows Me.cbboxResultatText.DataSource = Nothing Me.cbboxResultatText.DataSource = Me.Pruefschritt.PruefschrittResultattext Me.cbboxResultatText.DisplayMember = "Bezeichnung" Me.cbboxResultatText.ValueMember = "PruefschrittTextnr" Next AddChanges(Me) If Me.IsReadonly = True Then sec.Set_Form_Readonly(Me) Me.DokumenteFindings.Show_Toolbar = False Me.DokumenteMassnahmen.Show_Toolbar = False Me.ToolStripFindings.Enabled = False Me.ToolStripMassnahmen.Enabled = False Me.DokumenteAllgemein.Show_Toolbar = False End If Dim i As Integer If Me.txtKurzbeschreibung.Text <> "" Then For i = 0 To Pruefschritt.PruefschrittResultattext.Rows.Count - 1 If Pruefschritt.PruefschrittResultattext.Rows(i).Item("Bezeichnung") = Me.txtKurzbeschreibung.Text Then Me.cbboxResultatText.SelectedValue = Pruefschritt.PruefschrittResultattext.Rows(i).Item(0) Next End If If Pruefschritt.iAssessmenttyp.Value = 1 Then Me.GrpTypAnzahl_Massen.Visible = False End If If Pruefschritt.iAssessmenttyp.Value = 2 Then Me.GrpTypAnzahl_Massen.Visible = True Me.lblFidingsTief.Visible = False Me.lblFindingsHoch.Visible = False Me.lblFindingsMittel.Visible = False Me.txtFindingsHoch.Visible = False Me.txtFindingsMittel.Visible = False Me.txtFindingsTief.Visible = False Me.txtFindingsKein.Visible = False Me.lblFindingsKein.Visible = False End If If Pruefschritt.iAssessmenttyp.Value = 3 Then Me.GrpTypAnzahl_Massen.Visible = True Me.lblFidingsTief.Visible = True Me.lblFindingsHoch.Visible = True Me.lblFindingsMittel.Visible = True Me.txtFindingsHoch.Visible = True Me.txtFindingsMittel.Visible = True Me.txtFindingsTief.Visible = True Me.txtFindingsKein.Visible = True Me.lblFindingsKein.Visible = True End If Do_Massnahmen_RowColChange() If Me.IsReadonly = True Then Me.TSBtnSave.Visible = False Try If Me.C1Massnahmen.Splits(0).Rows.Count > 0 Then Me.C1Massnahmen_RowColChange(sender, e) Catch ex As Exception End Try Catch Finally Me.Cursor = Cursors.Default Application.DoEvents() End Try End Sub Private Sub PruefschrittDetailsBearbeitung_Resize(sender As Object, e As EventArgs) Handles Me.Resize Me.GrpResultate.Width = Me.ClientSize.Width / 3 Me.GrpFindingList.Width = Me.grpFindings.Width / 3 * 2 Me.GrpMassnahmenList.Width = Me.GrpFindingList.Width End Sub Private Sub Refresh_Details() Me.txtKurzbeschreibung.Text = Me.Pruefschrittresultat.sKurzbeschreibung.Value Me.txtBeschreibung.Text = Me.Pruefschrittresultat.sBeschreibung.Value Select Case Pruefschritt.iAssessmenttyp.Value Case 2 Me.txtAnzahlPruefungen.Value = Me.Pruefschrittresultat.iAnzahl_Pruefungen.Value Case 3 Me.txtAnzahlPruefungen.Value = Me.Pruefschrittresultat.iAnzahl_Pruefungen.Value Me.txtFindingsTief.Value = Me.Pruefschrittresultat.iFindings_niedrig.Value Me.txtFindingsMittel.Value = Me.Pruefschrittresultat.iFindings_mittel.Value Me.txtFindingsHoch.Value = Me.Pruefschrittresultat.iFindings_hoch.Value Me.txtFindingsKein.Value = Me.Pruefschrittresultat.iFinding_kein.Value End Select Refresh_Findings() Refresh_Massnahmen() End Sub #End Region Sub save_data() Pruefschritt.Get_Data(Me.Pruefschrittnr) Me.Pruefschrittresultat.sBeschreibung = New SqlTypes.SqlString(CType(Me.txtBeschreibung.Text, String)) Me.Pruefschrittresultat.sKurzbeschreibung = New SqlTypes.SqlString(CType(Me.txtKurzbeschreibung.Text, String)) Select Case Pruefschritt.iAssessmenttyp.Value Case 2 Me.Pruefschrittresultat.iAnzahl_Pruefungen = New SqlTypes.SqlInt32(CType(Me.txtAnzahlPruefungen.Value, Int32)) Case 3 Me.Pruefschrittresultat.iAnzahl_Pruefungen = New SqlTypes.SqlInt32(CType(Me.txtAnzahlPruefungen.Value, Int32)) Me.Pruefschrittresultat.iFindings_niedrig = New SqlTypes.SqlInt32(CType(Me.txtFindingsTief.Value, Int32)) Me.Pruefschrittresultat.iFindings_mittel = New SqlTypes.SqlInt32(CType(Me.txtFindingsMittel.Value, Int32)) Me.Pruefschrittresultat.iFindings_hoch = New SqlTypes.SqlInt32(CType(Me.txtFindingsHoch.Value, Int32)) Me.Pruefschrittresultat.iFinding_kein = New SqlTypes.SqlInt32(CType(Me.txtFindingsKein.Value, Int32)) End Select Me.Pruefschrittresultat.Save_Data() Pruefschritt.Get_Data(Me.Pruefschrittnr) If Pruefschritt.bDurchfuehrung_ISI.Value = True And Pruefschritt.Is_IsiMitarbeiter(Globals.clsmitarbeiter.iMitarbeiternr) = True Then If Pruefschritt.iStatusnr <> 2 Then If MsgBox("Status auf 'In Bearbeitung' setzen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(2, Int32)) Pruefschritt.Save_Data() Me.FormDataChanged = False evh.PruefplanResultat_Save(Me.Handler, Me.Pruefschrittnr) Exit Sub Else Me.FormDataChanged = False evh.PruefplanResultat_Save(Me.Handler, Me.Pruefschrittnr) Exit Sub End If End If End If If Pruefschritt.iStatusnr.Value <> 2 And Pruefschritt.iStatusnr.Value <> 5 Then Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(2, Int32)) Pruefschritt.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) End If Pruefschritt.Save_Data() Me.FormDataChanged = False evh.PruefplanResultat_Save(Me.Handler, Me.Pruefschrittnr) End Sub #Region "Findings" Sub Refresh_Findings() Dim findings As New clsFinding findings.Get_Eintraege(Me.C1Findings, Me.Pruefresultatnr, Me.ImageListFindings) Refresh_Finding_Dokumente() End Sub Sub Refresh_Finding_Dokumente() If Me.C1Findings.Splits(0).Rows.Count < 1 Then Me.DokumenteFindings.Init() Me.DokumenteFindings.Show_Toolbar = Me.IsReadonly = True Exit Sub End If Try Me.DokumenteFindings.Show_Toolbar = Me.IsReadonly = False Me.DokumenteFindings.ConnectionString = Globals.sConnectionString Me.DokumenteFindings.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value Me.DokumenteFindings.Init() Me.DokumenteFindings.Doktype = 5 Me.DokumenteFindings.ThemaNr = Me.C1Findings.Columns("Pruefschrittfindingnr").Value Me.DokumenteFindings.Refresh_Dokumente() Me.DokumenteFindings.TempFilePath = Globals.clsapplication.sTmp_filepath.Value Catch ex As Exception Me.DokumenteFindings.Init() Me.DokumenteFindings.Show_Toolbar = False End Try End Sub Sub Refresh_allgemeine_Dokumente() 'If Me.C1Findings.Splits(0).Rows.Count < 1 Then ' Me.DokumenteAllgemein.Init() ' Me.DokumenteAllgemein.Show_Toolbar = Me.IsReadonly = False ' Exit Sub 'End If Try Me.DokumenteAllgemein.Show_Toolbar = Me.IsReadonly = False Me.DokumenteAllgemein.ConnectionString = Globals.sConnectionString Me.DokumenteAllgemein.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value Me.DokumenteAllgemein.Init() Me.DokumenteAllgemein.Doktype = 4 Me.DokumenteAllgemein.ThemaNr = Me.Pruefschrittnr Me.DokumenteAllgemein.Refresh_Dokumente() Me.DokumenteAllgemein.TempFilePath = Globals.clsapplication.sTmp_filepath.Value Catch ex As Exception Me.DokumenteAllgemein.Init() Me.DokumenteAllgemein.Show_Toolbar = False End Try End Sub #End Region #Region "Massnahmen" Sub Refresh_Massnahmen() If OnRefresh_Findings Then Exit Sub Me.ToolStripMassnahmen.Enabled = False Me.DokumenteMassnahmen.Enabled = False Me.C1Massnahmen.DataSource = Nothing If Me.C1Findings.Splits(0).Rows.Count > 0 Then Try Dim Massnahmen As New clsPruefschrittMassnahme Massnahmen.Get_Eintraege(Me.C1Massnahmen, Me.C1Findings.Columns("Pruefschrittfindingnr").Value, Me.ImageListeMassnahmen) Refresh_Massnahmen_Dokument() Me.ToolStripMassnahmen.Enabled = True Catch End Try End If Do_Massnahmen_RowColChange() End Sub Sub Refresh_Massnahmen_Dokument() If OnRefresh_Findings Then Exit Sub If Me.C1Massnahmen.Splits(0).Rows.Count < 1 Then Me.DokumenteMassnahmen.Init() Me.DokumenteMassnahmen.Show_Toolbar = Me.IsReadonly = False Me.DokumenteMassnahmen.Enabled = False Exit Sub End If Try Me.DokumenteMassnahmen.Show_Toolbar = Me.IsReadonly = False Me.DokumenteMassnahmen.ConnectionString = Globals.sConnectionString Me.DokumenteMassnahmen.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value Me.DokumenteMassnahmen.Init() Me.DokumenteMassnahmen.Doktype = 6 Me.DokumenteMassnahmen.ThemaNr = Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value Me.DokumenteMassnahmen.Refresh_Dokumente() Me.DokumenteMassnahmen.TempFilePath = Globals.clsapplication.sTmp_filepath.Value Me.DokumenteMassnahmen.Enabled = True Catch ex As Exception Me.DokumenteMassnahmen.Init() Me.DokumenteMassnahmen.Show_Toolbar = False End Try End Sub #End Region Private Sub tsbtnNeuesFinding_Click(sender As Object, e As EventArgs) Handles tsbtnNeuesFinding.Click Dim f As New FrmFinding f.Key = -1 f.Pruefschrittresultatnr = Me.Pruefresultatnr f.ShowDialog() If f.DialogResult = DialogResult.OK Then OnRefresh_Findings = True Me.Refresh_Findings() OnRefresh_Findings = False Refresh_Massnahmen() End If End Sub Private Sub C1Findings_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Findings.RowColChange Refresh_Finding_Dokumente() Me.txtFindingBezeichnung.Text = "" Me.txtFindingBeschreibung.Text = "" Try Me.txtFindingBeschreibung.Text = Me.C1Findings.Columns("Beschreibung").Value Me.txtFindingBezeichnung.Text = Me.C1Findings.Columns("Bezeichnung").Value Catch End Try Refresh_Massnahmen() End Sub Private Sub tsbtnFindingBearbeiten_Click(sender As Object, e As EventArgs) Handles tsbtnFindingBearbeiten.Click Try Dim f As New FrmFinding f.Key = Me.C1Findings.Columns("Pruefschrittfindingnr").Value f.Pruefschrittresultatnr = Me.Pruefresultatnr f.isreadonly = Me.IsReadonly f.ShowDialog() If f.DialogResult = DialogResult.OK Then OnRefresh_Findings = True Me.Refresh_Findings() OnRefresh_Findings = False Refresh_Massnahmen() End If Catch ex As Exception End Try End Sub Private Sub tsbtnMassnahmeerfassen_Click(sender As Object, e As EventArgs) Handles tsbtnMassnahmeerfassen.Click Dim f As New frmMassnahme f.Key = -1 f.Pruefschrittresultatnr = Me.C1Findings.Columns("Pruefschrittfindingnr").Value f.ShowDialog() If f.DialogResult = DialogResult.OK Then Me.Refresh_Massnahmen() End If End Sub Private Sub C1Findings_DoubleClick(sender As Object, e As EventArgs) Handles C1Findings.DoubleClick Try tsbtnFindingBearbeiten_Click(sender, e) Catch End Try End Sub Private Sub C1Massnahmen_DoubleClick(sender As Object, e As EventArgs) Handles C1Massnahmen.DoubleClick tsbtnMassnahmeEdit_click(sender,e) End Sub Private Sub tsbtnMassnahmeEdit_Click(sender As Object, e As EventArgs) Handles tsbtnMassnahmeEdit.Click Dim f As New frmMassnahme f.Key = Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value f.Pruefschrittresultatnr = Me.C1Findings.Columns("Pruefschrittfindingnr").Value If C1Massnahmen.Columns("Verantwortungnr").Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Then f.IsReadonly = False Else f.IsReadonly = Me.IsReadonly End If f.ShowDialog() If f.DialogResult = DialogResult.OK Then Me.Refresh_Massnahmen() End If End Sub Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click Me.Close() End Sub Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click Me.save_data() End Sub Private Sub btnPruefungabgeschlossen_Click(sender As Object, e As EventArgs) Handles btnPruefungabgeschlossen.Click Me.txtKurzbeschreibung.Text = Me.cbboxResultatText.Text Me.save_data() Select Case Me.cbboxResultatText.SelectedValue Case 0 MsgBox("Bitte wählen Sie ein Prüfresultat aus, welches zur Prüfung passt.", vbInformation) Exit Sub Case 1 If Me.C1Findings.Splits(0).Rows.Count > 0 Then MsgBox("Sie haben Feststellungen erfasst. Somit kann das Resultat der Prüfung nicht '" + Me.cbboxResultatText.Text + "' lauten.", vbExclamation) Exit Sub End If Case 2, 3 If Me.C1Findings.Splits(0).Rows.Count < 1 Then MsgBox("Sie haben keine Feststellungen erfasst. Somit kann das Resultat der Prüfung nicht '" + Me.cbboxResultatText.Text + "' lauten.", vbExclamation) Exit Sub End If End Select If MsgBox("Haben Sie die Prüfung abgeschlossen und alle Feststellungen und Massnahmen festgehalten?", vbYesNo + vbQuestion) = vbYes Then Pruefschritt.Get_Data(Me.Pruefschrittnr) 'Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(6, Int32)) 'Pruefschritt.Save_Data() If Pruefschritt.iVerantwortlichNr.Value = Pruefschritt.iAktueller_Verantwortlicher.Value Then Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(5, Int32)) Pruefschritt.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Pruefschritt.iVeramtwortungISINr.Value, Int32)) Dim pplan As New DB.clsPruefplan pplan.cpMainConnectionProvider = Globals.conn pplan.iPruefplanNr = New SqlTypes.SqlInt32(CType(Pruefschritt.iPruefplanNr.Value, Int32)) pplan.SelectOne() If pplan.bSelbstkontrolle.Value = True Then Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(6, Int32)) Pruefschritt.Save_Data() End If pplan = Nothing Else If Pruefschritt.iStatusnr.Value = 5 Then Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(6, Int32)) Else Pruefschritt.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Pruefschritt.iVerantwortlichNr.Value, Int32)) Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(3, Int32)) Pruefschritt.Insert_Message(3, Pruefschritt.iPruefschrittNr.Value, Pruefschritt.iAktueller_Verantwortlicher.Value, 0, "") End If End If Pruefschritt.Save_Data() Me.Close() End If End Sub Private Sub C1Massnahmen_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Massnahmen.RowColChange Do_Massnahmen_RowColChange() End Sub Sub Do_Massnahmen_RowColChange() Try Me.txtMassnahmeBezeichnung.Text = "" Me.txtMassnahmebeschreibung.Text = "" Me.txtMassnahmeResultat.Text = "" Dim pruefschrittmassnahme As New clsPruefschrittMassnahme pruefschrittmassnahme.Get_Data(Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value) Me.txtMassnahmeBezeichnung.Text = pruefschrittmassnahme.sKurzbeschreibung.Value Me.txtMassnahmebeschreibung.Text = pruefschrittmassnahme.sBeschreibung.Value Me.txtMassnahmeResultat.Text = pruefschrittmassnahme.sMassnahmeResultat.Value Refresh_Massnahmen_Dokument() If Me.IsReadonly Then Me.ToolStripMassnahmen.Enabled = False If C1Massnahmen.Columns("Verantwortungnr").Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Then If Me.Pruefschritt.iAktueller_Verantwortlicher <> Globals.clsmitarbeiter.iMitarbeiternr.Value Then Me.ToolStripMassnahmen.Enabled = True Me.tsbtnMassnahmeerfassen.Enabled = False Me.tsbtnMassnahmeLoeschen.Enabled = False Me.tsbtnMassnahmeEdit.Enabled = True Me.DokumenteMassnahmen.Show_Toolbar = True End If Else Me.DokumenteMassnahmen.Show_Toolbar = False End If Catch End Try End Sub Private Sub tsbtnFindingDelete_Click(sender As Object, e As EventArgs) Handles tsbtnFindingDelete.Click Try If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then Dim clsf As New clsFinding clsf.Delete_Data(Me.C1Findings.Columns("Pruefschrittfindingnr").Value) clsf.dispose() Refresh_Findings() Refresh_Massnahmen() End If Catch ex As Exception End Try End Sub Private Sub DokumenteFindings_Load(sender As Object, e As EventArgs) Handles DokumenteFindings.Load End Sub Private Sub tsbtnMassnahmeLoeschen_Click(sender As Object, e As EventArgs) Handles tsbtnMassnahmeLoeschen.Click Try If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion) = vbYes Then Dim clsm As New clsPruefschrittMassnahme clsm.Delete_Data(Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value) clsm.dispose() Me.Refresh_Massnahmen() End If Catch ex As Exception MsgBox (ex.Message) End Try End Sub Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click Me.Close() End Sub Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked End Sub Private Sub C1Findings_FilterChange(sender As Object, e As EventArgs) Handles C1Findings.FilterChange Refresh_Finding_Dokumente() Refresh_Massnahmen() End Sub End Class