Folgendes Problem:
Die ComboBox (Combo_firma) wird mit Daten aus einer Tabelle wie folgt gefüllt:
Delphi-Quellcode:
// Hole die Firmen-Bezeichung aus der Datenbank
procedure Tdm_user.GetFirma(List: TStrings);
begin
with dm_firma.tbl_firma do
begin
Open;
First;
while
not eof do
begin
List.Add((FieldByName('Ausbildungsbetrieb').AsString) + ' ' + (FieldByName('Ort').AsString));
Next;
end;
Close;
end;
end;
Ich möchte nun, dass die Firma, die ich ja aus tbl_firma ziehe, in einer Tabelle namens tbl_user speichern.
Natürlich soll dann nicht der String, sondern die ID des ComboItems gespeichert werden.
Hierzu ein Ansatz:
Delphi-Quellcode:
Procedure Tdm_userverw.UserEintragen;
Var
node: Pfirmeninfo;
fid : integer;
begin
node:= Pfirmeninfo(dlg_users_bearbeiten.combo_firma.Items.Objects[dlg_users_bearbeiten.combo_firma.ItemIndex]);
FieldByName('Firmen_ID').AsInteger := node^.I0;
end;
So, leider funktioniert das ja nicht, weil, wie obenstehender Quellcode zeigt, in der ComboBox zwei Felder ausgegeben werden (Firmen-Name & Ort).
Gibt es eine Möglichkeit, trotzdem irgendwie die ID und nicht den String zu speichern?
Das letzte Wort, also den Ort, vorher "abschneiden" funktioniert auch nicht, weil ich ja nicht weiß, wieviele Zeichen der Ort hat, oder wann ein Leerzeichen kommt.