Public Class frmMitarbDetails Private UID As New cMitarbeiter Private daten As IList(Of cBerechtigungen) Private mid As Integer = -1 Private isUpdate As Boolean = False Private mitarbeiter As cMitarb Private Sub frmMitarbDetails_Load(sender As Object, e As EventArgs) Handles Me.Load txtPwd.Visible = False daten = UID.getBerechtigungen If Not IsNothing(daten) Then For Each d As cBerechtigungen In daten cbxBerechtigung.Items.Add(d.Bezeichnung) Next cbxBerechtigung.SelectedIndex = 0 End If cbxNiederlassung.SelectedIndex = 0 If frmMitarbeiter.mid >= 0 Then mid = frmMitarbeiter.mid mitarbeiter = UID.getMitarbeiterById(mid) If Not IsNothing(mitarbeiter) Then isUpdate = True txtKurzbez.Text = mitarbeiter.mit_username txtVname.Text = mitarbeiter.mit_vname txtNname.Text = mitarbeiter.mit_nname 'MsgBox(mitarbeiter.mit_berechtigung) If Not IsNothing(daten) Then cbxBerechtigung.SelectedIndex = getValueFromBez(mitarbeiter.mit_berechtigung) txtPwd.Text = mitarbeiter.mit_pwd txtInfo.Text = mitarbeiter.mit_info cbxNiederlassung.Text = mitarbeiter.mit_niederlassung Else MsgBox("Fehler beim Laden der Daten!") End If End If End Sub Private Sub cbxBerechtigung_HandleCreated(sender As Object, e As EventArgs) Handles cbxBerechtigung.HandleCreated ' cbxBerechtigung.SelectedIndex = Convert.ToInt32(mitarbeiter.mit_berechtigung.ToString) + 1 End Sub Private Sub cbxBerechtigung_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxBerechtigung.SelectedIndexChanged End Sub Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click Me.Close() End Sub Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click Dim m As New cMitarb m.mit_username = txtKurzbez.Text m.mit_vname = txtVname.Text m.mit_nname = txtNname.Text m.mit_berechtigung = getValueFromIndex(cbxBerechtigung.SelectedIndex) m.mit_pwd = txtPwd.Text m.mit_info = txtInfo.Text m.mit_niederlassung = cbxNiederlassung.Text If isUpdate Then m.mit_id = mid If UID.updateMitarbeiter(m) Then frmMitarbeiter.Tabelle_anzeigen() : Me.Close() Else If UID.insertMitarbeiter(m) Then frmMitarbeiter.Tabelle_anzeigen() : Me.Close() End If End Sub Private Function getValueFromIndex(ByVal i As Integer) As String Return daten.Item(i).id End Function Private Function getValueFromBez(ByVal bez As Integer) As Integer For i As Integer = 0 To daten.Count : If daten(i).id = bez Then Return i Next Return 0 End Function Private Sub Label8_Click(sender As Object, e As EventArgs) Handles Label8.DoubleClick txtPwd.Visible = Not txtPwd.Visible End Sub End Class