![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: ZEOSDBO-7.0.3-stable
Feld in DBComboBox auf Unique überprüfen und eintragen
Hallo
nach Monaten der Krankheit versuche ich mal wieder zu programmieren. Also ich versuche zu erklären was ich benötige. Ich habe einen Datenfeld "LOCATION" und fülle das mit der Zeit mit verschiedenen Werten. Beim starten möchte ich das ich eine Auswahl dieser Werte "LOCATION" habe. Die folgende Routine funktioniert ganz gut. Meine Frage Kann man das besser bewerkstelligen ?
Delphi-Quellcode:
procedure TMain.FormShow(Sender: TObject);
var i : integer; t : boolean; begin DataModule1.ZQuery3.First; // First Dataset while not DataModule1.ZQuery3.Eof do begin t := true; // Trigger a new Dataset = true for i := 0 to DBCoEdLOCATION.Items.Count-1 do if DBCoEdLOCATION.Items.Strings[i] = DataModule1.ZQuery3LOCATION.Value then t := false; // Set new Entry into the DBComboBox if t then DBCoEdLOCATION.Items.Add(DataModule1.ZQuery3LOCATION.Value); DataModule1.ZQuery3.Next; end; end; |
AW: Feld in DBComboBox auf Unique überprüfen und eintragen
Versuch es mal so:
Delphi-Quellcode:
procedure TMain.FormShow(Sender: TObject);
begin DataModule1.ZQuery3.First; // First Dataset while not DataModule1.ZQuery3.Eof do begin if DBCoEdLOCATION.Items.IndexOf( DataModule1.ZQuery3LOCATION.Value) > -1 then begin // Set new Entry into the DBComboBox DBCoEdLOCATION.Items.Add(DataModule1.ZQuery3LOCATION.Value); end; DataModule1.ZQuery3.Next; end; end; |
AW: Feld in DBComboBox auf Unique überprüfen und eintragen
Danke Markus Kinzler:thumb:
Es ist schön wieder du programmieren:-D |
AW: Feld in DBComboBox auf Unique überprüfen und eintragen
Delphi-Quellcode:
Leider kommt da immer "-1" raus !:(
if DBCoEdLOCATION.Items.IndexOf( DataModule1.ZQuery3LOCATION.Value) > -1 then
|
AW: Feld in DBComboBox auf Unique überprüfen und eintragen
Da hat sich der Markus wohl vertippt. mach mal ein '=' draus, oder denk drüber nach, was der Code eigentlich machen soll. Dann wärst Du auch alleine drauf gekommen. Übrigens solltest Du dein FELD 'LOCATION' auslagern. Erstelle also eine Tabelle 'Locations' mit zwei Feldern (ID, Beschreibung), pack dort alle möglichen LOCATION-Werte rein (und gib ihnen eine eindeutige ID). In deiner Haupttabelle trägst Du nun in das Feld LOCATION die passende ID aus der 'Locations' Tabelle ein.
Auf diese Weise hast Du in der Locations Tabelle automatisch alle vorkommenden Werte und damit auch sofort die Werte in deiner DBLookup-Combobox. Diese *zeigt* die Beschreibung aus der Locations-Tabelle an, aber setzt den entsprechenden ID-Wert. |
AW: Feld in DBComboBox auf Unique überprüfen und eintragen
Dejan Vu
da hast Du recht Danke :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 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