![]() |
Datenbank: Access • Zugriff über: ADO
ComboBoxen Einträgen Daten zuweisen
Hallo
ich mal wieder. Muss ich wirklich für jede Frage ein eigenes Thema öffnen? Auch wenn es mit dem anderen zu tun hat? Naja wenn es sein muss. Also ich habe die Daten jetzt in drei ComboBoxen. Mit folgenden Code:
Delphi-Quellcode:
Das klappt auch wunder bar.
procedure TForm1.CB(Sender: TObject);
begin ComboBox.Items.Clear; ADOQuery.First; while not ADOQuery.EOF do begin ComboBox.Items.Add(ADOQuery.FieldByName('Test').AsString); ADOQuery.Next; end; end; Wie gesagt habe ich jetzt drei Boxen können aber noch mehr werden. Nun möchte das jedem Box Eintrag ein Wert zugewiesen wird. Beispiel: name|wert Test1|2 B B, 54 Häuser mit Fenstern, 80 CD Rohlinge, 66M Kabel Test2|.... Dabei sind die Werte durch ein Komma getrennt. Ich möchte wie gesagt später mal mit den Werten rechnen. Wie bekomme ich das in der ComboBox zugewiesen? Das der Name2 der ComboBox den wert1 hat u.s.w. Damit ich später damit gut rechnen kann. |
Re: ComboBoxen Einträgen Daten zuweisen
dann würde ich "wert" in eine TStringList schreiben, deren Eigenschat Delimiter auf "," eingestellt ist.
Als Resultat hast du dann alle einzelnen Dinge in ein einzelnen Strings, die du über StringList[0] usw. abfragen kannst. Und diese Einzelstrings kannst du ja dann in ComboBoxen packen. |
Re: ComboBoxen Einträgen Daten zuweisen
Zitat:
|
Re: ComboBoxen Einträgen Daten zuweisen
@Progman
Wie mache ich das ganz genau mit der Stringlist? Bin da schon mal dran gescheitert. @Deddy Ist kein Problem. Da das Komma für nichts anderes gebraucht wird. |
Re: ComboBoxen Einträgen Daten zuweisen
das sollte recht einfach sein:
Delphi-Quellcode:
//irgendwo am Anfang
Liste:=TStringList.Create; //dann das Feld "wert" in einen String (s) einlesen //dann: Liste.Delimiter:=','; Liste.Text:=s; //jetzt müsste Liste soviele Einträge enthaltem, wie Komma-getrennte Daten in "wert" standen //dann evtl. prüfen, wie viele Einträge da sind und ComboBox1.Items.Add(Liste[0]); ComboBox2.Items.Add(Liste[1]); ComboBox3.Items.Add(Liste[2]); //aber immer überprüfen, ob Liste.Count ausreichend ist, wenn es keine feste Anzahl ist. |
Re: ComboBoxen Einträgen Daten zuweisen
Ok aber die Stringlist muss dynamisch sein.
Und die Einträge der CheckBox sollen den Namen der Spalte "Name" haben und nur den wert von der Spalte "wert". |
Re: ComboBoxen Einträgen Daten zuweisen
Hai Jack23,
wie DaddyH schon geschrieben hat würde ich an deiner Stelle das Tabellenlayout der Datenbank überdenken. Mache dir lieber jetzt die Arbeit das "ordentlich" zu entwickeln als später, wegen dem schlechten layout, im Code zu frickeln. Aber zu Deiner Frage: Schaue Dir doch mal die Eingenschaft Objects von TStringList (und damit auch der Items einer Combobox) an. Eine Beispiel steht unter anderem ![]() |
Re: ComboBoxen Einträgen Daten zuweisen
Sorry verstehe ich immer noch nicht. Wie ich beide Werte da rein bekomme aber der "Namen" angezeigt wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz