Ich hab ein kleines Problem mit eines meiner Programme.
Folgendes:
Beim Starten des Programmes soll eine Combobox mit den Namen der Mitarbeiter geöffnet werden. Wurde ein Mitarbeiter ausgewählt soll sich eine weiter Combobox gefüllt werden mit den Projekten an denen er arbeitet bzw gearbeitet hat.
Die Datenbank ist simple aufgebaut:
tab_mit
- M_Nr //PS
- M_Name
tab_pro
- P_Nr //PS
- P_Name
tab_mit2 //quasi die Verbindungstabelle
- M_Nr //PS
- P_Nr //PS
Die Werte für die Mitarbeiter-Combobox holt er sich folgenderweise.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| cmd = new OleDbCommand("SELECT M_Nr, M_Name FROM tab_mit", con); dr = cmd.ExecuteReader();
this.cb_mit.Items.Add("Bitte wählen");
while (dr.Read()) { this.cb_mit.Items.Add(dr.GetString(1)); } |
Nun könnte ich die Namen der Projekte mit
"SELECT P_Name FROM tab_pro, tab_mit, tab_mit2 WHERE tab_pro.P_nr = tab_mit2.P_Nr AND tab_mit2.M_nr = tab_mit.M_Nr AND tab_mit.M_Name = '"+cb_mit.selectedItem.ToString()+"'"
rausholen.
Nur schlecht, wenn 2 Mitarbeiter den gleichen Namen haben. Es wäre schön, wenn ich die M_Nr mit in das Item mit reinschreiben könnte ohne das sie angezeigt wird oder hat jemand noch eine andere Idee?
Für Antworten bedank ich mich schon mal im Vorfeld...
Adler
Moderiert von Christian S.: Quote- durch C#-Tags ersetzt