Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBComboBox (https://www.delphipraxis.net/134659-dbcombobox.html)

jangbu 26. Mai 2009 15:23

Datenbank: SQL-Server 2000 • Zugriff über: BDE

DBComboBox
 
Hallo,

mal wieder DBCombobox. Ich will über eine Maske neue Datensätze in die DB eintragen. Die DB enthält z.B. das Feld Kunde. Damit mit der Zeit nicht der gleich Kunde in allen möglichen Schreibweisen erscheint, möchte ich über eine DBComboBox zuerst mal nachschauen lassen ob der Kunde schon existiert, der kann dann auch gleich ausgewählt werden. Wenn nicht muss er natürlich eingegeben werden. Um die Liste mit allen möglichen bisherigen Feldinhalten zu füllen, benutze ich eine Query, die ist ziemlich langsam(?)

Delphi-Quellcode:
Query1.SQL.Add('select distinct KUNDE from Bestellung order by KUNDE');
  Query1.Open;
  Query1.First;
  while not Query1.Eof do
  begin
    DBComboBox1.Items.Add(Query1.FieldbyName('Kunde').AsString);
    Query1.Next;
  end;
Das Auswählen von vorhandenen Einträgen funktioniert, jedoch kann ich (bei nicht existenz) keine Werte eingeben?
Wie kann ich das Füllen der Liste beschleunigen (habe alle DBCOMBOBox-Eigenschaften auf Standard belassen)?
Ist die DBComboBox überhaupt die richtige Komponente?

Danke
jangbu

[edit=Phoenix] Delphi-Tags eingefügt. Das nächste mal bitte selber machen. Mfg, Phoenix[/edit]

mkinzler 26. Mai 2009 15:25

Re: DBComboBox
 
Warum nimmst du keine TDBLookUpComboBox?

jangbu 26. Mai 2009 15:31

Re: DBComboBox
 
DBLookupCombobox verwendet man doch wenn man z.B. über eine Master-Detailbeziehung den Wert eines verknüpften Feldes aus einer anderen Tabelle sucht. Oder?

mkinzler 26. Mai 2009 15:34

Re: DBComboBox
 
Unter anderem. Aber hier sollte es auch funktionieren

jangbu 26. Mai 2009 15:49

Re: DBComboBox
 
ok, probier ich TDBLookupComboBox. Habe Datasource(Query1) und Datafield(Kunde) zugewiesen, bekomme jedoch keine Liste. Wie wird die Liste gefüllt? Das Listsymbol ist grau also nicht aktiv?

mkinzler 26. Mai 2009 15:52

Re: DBComboBox
 
.DataSource ist für das Ziel (kann Freigelassen werden) .ListSource ist für die Quelle (Anzeige)

jangbu 26. Mai 2009 16:01

Re: DBComboBox
 
Danke kminzler! Liste wird angezeigt und ich kann Einträge selektieren, wie jedoch kann ich und dafür steht doch "COMBO" was eingeben, was nicht in der Liste steht?

shmia 26. Mai 2009 16:07

Re: DBComboBox
 
Zitat:

Zitat von jangbu
... eine Query, die ist ziemlich langsam(?)

Das Feld "KUNDE" braucht einen Index, dann geht es blitzschnell!

p80286 26. Mai 2009 17:02

Re: DBComboBox
 
vielleicht wäre es ganz sinnvoll gleich eine "Kundentabelle"anzulegen ?

Gruß
K-H

jangbu 27. Mai 2009 15:11

Re: DBComboBox
 
sorry, aber war noch eie Frage offen. Es ging darum, wie ich nun mit Hilfe der DBLookupCombobox nicht nur Daten in der Liste auswählen, sondern wenn die gewünschten Daten in der Liste nicht vorhanden sind, diese als "neue" hinzufügen kann. Ich suchte ja nach einer Komponente die eine Auswahl bzw. Eingabe zulässt.

jangbu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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