Hallo,
binde mehrere Controls einer Form an eine Datatable.
Ändern und Löschen von Datensätze funktioniert.
Möchte ich einen neuen speichern, wird der letzte angezeigte Datensatz geändert, aber kein neuer angelegt.
Was habe ich übersehen?
Spoiler anzeigen
binde mehrere Controls einer Form an eine Datatable.
Ändern und Löschen von Datensätze funktioniert.
Möchte ich einen neuen speichern, wird der letzte angezeigte Datensatz geändert, aber kein neuer angelegt.
Was habe ich übersehen?
VB.NET-Quellcode
- Option Strict On
- Option Explicit On
- Public Class Setup_User
- Private da As OleDb.OleDbDataAdapter = Nothing
- Private dt As DataTable = Nothing
- Private BS As New BindingSource
- Private Sub Setup_User_Load(sender As Object, e As EventArgs) Handles Me.Load
- Monitor.Form_Initalisieren(Me)
- Dim Conn As New OleDb.OleDbConnection(Daten.Verbindungsstring)
- Dim selstr As String = "Select * from Anwender"
- da = New OleDb.OleDbDataAdapter(selstr, Conn)
- Dim cb As New OleDb.OleDbCommandBuilder(da)
- dt = New DataTable("Anwender")
- da.Fill(dt)
- Conn.Close()
- BS.DataSource = dt
- PRGM.Ausl = False
- With TS_Anwender.ComboBox
- .DataSource = BS
- .DisplayMember = "Anzeige"
- .ValueMember = "Nummer"
- End With
- Label_Usernummer.DataBindings.Add("Text", BS, "Nummer")
- Label_Anzeige.DataBindings.Add("Text", BS, "Anzeige")
- TextBox_Nachname.DataBindings.Add("Text", BS, "Nachname")
- TextBox_Vorname.DataBindings.Add("Text", BS, "Vorname")
- DTP_Geburtstag.DataBindings.Add("Value", BS, "Geburtstag")
- NUP_Stufe.DataBindings.Add("Value", BS, "Berechtigung")
- CheckBox_Admin.DataBindings.Add("Checked", BS, "Admin")
- PRGM.Ausl = True
- End Sub
VB.NET-Quellcode
- Private Sub TS_Bestaetigen_Click(sender As Object, e As EventArgs) Handles TS_Bestaetigen.Click
- If PRGM.Ausl = False Then Exit Sub
- If PRGM.Aktion = Nothing Then Exit Sub
- Datacontrol() ' Prüfung - Korrekte Dateneingabe in den Formcontrols
- If PRGM.IstFehler = True Then
- PRGM.IstFehler = False
- Exit Sub
- End If
- If PRGM.Aktion = "N" Then ' Datensatz anfügen
- BS.AddNew()
- MsgBox("Neuanlage gewählt")
- End If
- If PRGM.Aktion = "L" Then ' Datensatz löschen
- BS.RemoveCurrent()
- End If
- Me.Validate()
- BS.EndEdit()
- da.Update(dt)
- TS_Bestaetigen.Visible = False
- PRGM.Aktion = Nothing
- PRGM.Ausl = True
- MsgBox("Gespeichet")
- End Sub
Gruß Markus