![]() |
Datenbank: Firbird • Version: 1.5 • Zugriff über: Zeos
Füllen von Label-Feldern nach Auswahl einer Combobox
Ich mal wieder,
nachdem ich jetzt alle relevanten Daten in einer Firebird-DB geschaufelt habe, möchte ich nun folgendes machen. Nachdem eine Postleitzahl aus der combobox ausgewählt wurde (lasse ich im Create-Ereignis schon befüllen) sollen in den anderen Label (oder Edit) Feldern die zusätzlichen Daten angezeigt werden. Habe schon gesucht und auch die komischten Sachen probiert, aber irgendwie komme ich nicht darauf. |
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Du könntest das OnChange-Ereignis der ComboBox benutzen, und je nachdem, was für einen Wert du hast, befüllst du den Rest mit Werten.
|
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
So habe es nun nach etlichen Flüchtigkeitsfehlern hinbekommen. Jedoch gibt es eine Fehlermeldung wenn ich eine Postleitzahl ausgewählt habe und dann per Combobox die nächste auswählen möchte. Irgendwie hat er das nicth so gerne. Hiermal mein Code.
Delphi-Quellcode:
Wie gesagt wenn ich nach einer Auswahl erneut die Combobox "ausfahren" will kommt ein Fehler.
procedure TForm1.FormCreate(Sender: TObject);
var plz:String; begin dbc1.Clear; dbmain.Connected:=true; dbmain.KeepConnection:=true; qr1.SQL.Text:='Select * from PLZ ORDER BY Gebiet'; qr1.open; qr1.First; while not (qr1.EOF) do begin plz := qr1.FieldByName('Gebiet').AsString; dbc1.Items.Add(plz); qr1.Next; end; procedure TForm1.dbc1Change(Sender: TObject); var plz2:String; begin plz2:= dbc1.text; qr2.SQL.text:='Select ORT FROM PLZ where Gebiet = '+ quotedstr(dbc1.Text); qr2.Open; lblort.Caption:= qr2.FieldByName('Ort').AsString; end; |
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Warum nimmst du keine LookupCombo ?
|
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Die gibt es wohl noch nicht in Lazarus!!
|
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Zitat:
Zitat:
|
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Zitat:
Es erscheint nur eine eine Meldung wie "Project raised exception class 'External: SIGSEGV'". Und das wie gesagt wenn ich nach einer Auswahl eine andere PLZ auswählen möchte. |
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Versuche mal zu Debuggen um herauszufinden wo der Fehler geanu auftritt.
|
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Ich hoffe ich habe Dich richtig verstanden. Hier mal sämtliche Info´s. Wenn falsch dann bitte schonungslos sagen hier mal der Ausdruck vom Debug-Fenster:
Delphi-Quellcode:
Dann wird folgender Bereich in der dbcombobox.inc angemeckert:
(gdb)
*stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation fault",thread-id="1",frame={addr="$004d40c9",func="fpc_ansistr_decr_ref",args=[{name="S",value="<incomplete type>"}]} (gdb)
Delphi-Quellcode:
Habe mal das befüllen der Combobox in eine eigene Prozedur ausgegliedert und am Ende des OnChange-Ereignis diese einfach wieder aufgerufen nur steht dann auch nicht mehr die gewählte PLZ im Feld...also ziemlich "unprofessionell".
procedure TDBComboBox.UpdateData(Sender: TObject);
begin FDataLink.Field.Text := text; <----Hier FDataLink.Field.AsString := text; end; |
Re: Füllen von Label-Feldern nach Auswahl einer Combobox
Habe mir jetzt mit einem "Bauertrick" geholfen. Nach der Auswahl der PLZ wird diese ja in einer Variablen gespeichert. Nun lasse ich am Ende des OnChange-Ereignisses die Combobox Neuladen und setze den Text wieder anhand der Variablen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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 by Thomas Breitkreuz