Hallo
Meine Kenntnisse reichen noch nicht aus, um folgendes Problem zu lösen. Ich habe zwei Tabellen, eine mit Statistikdaten pro Mitarbeiter (TabStatistik) und eine für die Mitarbeiter (TabMitarbeiter) selbst. Ich möchte nun einen neuen Statistik-Datensatz speichern für einen Mitarbeiter, den ich aus einer Combobox auswähle. Diese habe ich vorher mit den Mitarbeitern aus der Tabelle TabMitarbeiter gefüllt.
Mein Code, der grundsätzlich funktioniert:
Ich will ja nicht den Namen des Mitarbeiters als String speichern, sondern die ID des Mitarbeiters aus der Tabelle TabMitarbeiter. In meiner ComboBox habe ich natürlich nur Text. Ich müsste also anhand des Namens die ID ermitteln und das möglichst auf elegante und direkte Art, finde aber in meinen Lehrbüchern nichts, was mir weiterhilft. Für Tipps wäre ich sehr dankbar.
Viele Grüsse
P.
Meine Kenntnisse reichen noch nicht aus, um folgendes Problem zu lösen. Ich habe zwei Tabellen, eine mit Statistikdaten pro Mitarbeiter (TabStatistik) und eine für die Mitarbeiter (TabMitarbeiter) selbst. Ich möchte nun einen neuen Statistik-Datensatz speichern für einen Mitarbeiter, den ich aus einer Combobox auswähle. Diese habe ich vorher mit den Mitarbeitern aus der Tabelle TabMitarbeiter gefüllt.
Mein Code, der grundsätzlich funktioniert:
VB.NET-Quellcode
- Dim con As New OleDb.OleDbConnection
- Dim cmd As New OleDb.OleDbCommand
- con = New OleDb.OleDbConnection
- con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Datenbank.mdb"
- cmd.Connection = con
- cmd.CommandText = "INSERT INTO TabStatistik " &
- "([Mitarbeiter], [Datum], [Daten_1], [Daten_2], [Daten_3], [Daten_4], [Daten_5], [Daten_6], Daten_7]) " &
- "VALUES(@Mitarbeiter, @Datum, @Daten_1, @Daten_2, @Daten_3, @Daten_4, @Daten_5, @Daten_6, @Daten_7)"
- cmd.Parameters.AddWithValue("@Mitarbeiter", ?????????????????????)
- cmd.Parameters.AddWithValue("@Datum", Datum)
- cmd.Parameters.AddWithValue("@Daten_1", Daten_1)
- cmd.Parameters.AddWithValue("@Daten_2", Daten_2)
- cmd.Parameters.AddWithValue("@Daten_3", Daten_3)
- cmd.Parameters.AddWithValue("@Daten_4", Daten_4)
- cmd.Parameters.AddWithValue("@Daten_5", Daten_5)
- cmd.Parameters.AddWithValue("@Daten_6", Daten_6)
- cmd.Parameters.AddWithValue("@Daten_7", Daten_7)
- Try
- con.Open()
- Dim anzahl = cmd.ExecuteNonQuery()
- MessageBox.Show($"Es wurde {anzahl} Datensatz erfolgreich gespeichert.")
- con.Close()
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
Ich will ja nicht den Namen des Mitarbeiters als String speichern, sondern die ID des Mitarbeiters aus der Tabelle TabMitarbeiter. In meiner ComboBox habe ich natürlich nur Text. Ich müsste also anhand des Namens die ID ermitteln und das möglichst auf elegante und direkte Art, finde aber in meinen Lehrbüchern nichts, was mir weiterhilft. Für Tipps wäre ich sehr dankbar.
Viele Grüsse
P.