Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DBLookuoComboBox wieder blank? (https://www.delphipraxis.net/202374-dblookuocombobox-wieder-blank.html)

Trafel21 28. Okt 2019 07:33

DBLookuoComboBox wieder blank?
 
Hallo zusammen,

kennt jemand evtl. eine Möglichkeit mit welcher Funktion/Befehl ich eine DBLookupComboBox wieder blank(weiß) werden lasse?

Bspw. Wenn ein neuer Datensatz geladen wird, soll DBLookuoComboBox auf Blank zurücksetzen und die Werte sollen neu auswählbar sein.

DBLookupComboBoxRevision.Field.clear; war für mich bisher von der Logik her das beste, funktioniert leider nicht.

hoika 28. Okt 2019 07:46

AW: DBLookuoComboBox wieder blank?
 
Hallo,
viell. klappt ja das

dblookupcombobox.KeyValue:='';

Moombas 28. Okt 2019 07:55

AW: DBLookuoComboBox wieder blank?
 
Ist das nicht wie bei jeder anderen combobox?
Müsste es dann nicht dblookupcombobox.listfieldindex := -1 sein?

hoika 28. Okt 2019 08:12

AW: DBLookuoComboBox wieder blank?
 
Hallo,
die DB-Lookup-Komponenten können doch nur das anzeigen,
was in der DB steht, oder irre ich mich da jetzt?

Trafel21 28. Okt 2019 08:12

AW: DBLookuoComboBox wieder blank?
 
Ich hab beides ausprobiert, leider funktioniert keines von beiden. Bei neuer Datenmenge steht in der DBLookupCombobox in Rot "Key X nicht gefunden".

Trafel21 28. Okt 2019 08:13

AW: DBLookuoComboBox wieder blank?
 
Zitat:

Zitat von hoika (Beitrag 1450355)
Hallo,
die DB-Lookup-Komponenten können doch nur das anzeigen,
was in der DB steht, oder irre ich mich da jetzt?

Ja, stimmt. Aber wenn davor noch nichts ausgewählt wurde, ist die Komponente ja auch blank, irgendwie muss man doch zu diesem Zustand zurück kommen. ^^, hmmm...

Incocnito 28. Okt 2019 08:30

AW: DBLookuoComboBox wieder blank?
 
Was passiert denn bei:
Delphi-Quellcode:
Tabelle1['FeldDeinesVertrauens'] := nil;

???

LG Incocnito

Trafel21 28. Okt 2019 08:39

AW: DBLookuoComboBox wieder blank?
 
Zitat:

Zitat von Incocnito (Beitrag 1450358)
Was passiert denn bei:
Delphi-Quellcode:
Tabelle1['FeldDeinesVertrauens'] := nil;

???

LG Incocnito

Also, die Daten kommen aus einem IBQuery Spalten->(Inckey, Bezeichnung) welche ich über "LookupDataSet" (da übergebe ich die IBQuery) in ein Feld Bezeichnung_virt übergebe.
(LookupkeyField = INCKEY / LookupResultfield = Bezeichnung)

So kann ich über Inckey die Werte per DBLookupComboBox anzeigen lassen und in die Bezeichnung speichern gleich in die DB speichern.

mit Tabelle1 meinst du das Dataset? ^^,

Incocnito 28. Okt 2019 10:22

AW: DBLookuoComboBox wieder blank?
 
War DBLookup nicht ein Element mit einem Verweis?

Fiktives unvollständiges Beispiel:
Ich habe eine Tabelle Auftragsposition [tblPos / dsPos] mit:
- Artikelnummer
- Preis
- Auftragsnummer (Kopf-Verweis)
Ich habe eine Tabelle Aufträge [tblKop / dsKop] mit:
- Auftragsnummer
- Kundenname
Ich habe eine Tabelle Artikel [tblArtikel / dsArtikel] mit:
- Artikelnummer
- Bezeichnung

Jetzt könnte ich in meinem Fenster doch eine DB-Lookupbox machen,
bei dem ich das Feld tblPos['Artikelnummer'] bearbeiten kann
[DataSource = dsPos, DataField = 'Artikelnummer'] und einen Lookup
auf die Artikeltabelle fahre[ListSource = dsArtikel, ListField = Bezeichnung,
KeyField = Artikelnummer].
Dann habe ich eine Auswahl, bei der ich den Artikelnamen angezeigt bekomme und
in meiner Tabelle der Auftragspositionen speichert er die Artikelnummer.

Im gleichen Beispiel könnte man das auch mit der Auftragsnummer und dem Kundennamen machen,
aber das wäre Unsinn, weil ein Kunde sicher öfter mal bei mir kauft und
ich eine Position ja nicht in einer Position einem Auftrag zuweisen will.

Anderefrseits ist das eigendliche Beispiel natürlich auch nicht optimal,
da es sicher mehr als 10 Artikel zum scrollen gibt.

Wenn du jetzt "tblPos['Artikelnummer'] := nil;" setzt müsste die LookupBox wieder leer sein.
Also vom DataSource der Komponente das Dataset und davon das DataField.

jobo 28. Okt 2019 11:17

AW: DBLookuoComboBox wieder blank?
 
Wenn die DBLookupCombobox richtig an das Feld der Query gebunden ist, müsste sie eigentlich den im Feld eingetragenen Wert wiederspiegeln und mindestens auf Änderungen dort reagieren. Also z.B. Insert > Defaultwert im Feld wird eingetragen, sofern definiert, Box zeigt leer oder zugehörigen Text zum Wert.
Aus der Box heraus müsste das auch gehen, wäre sozusagen "Benutzereingabe Mimikry". Hier kommt es darauf an, welche Werte definiert sind (zur Auswahl stehen) und wie NULL Verhalten definiert ist.
Mglw. ist die Box nicht richtig eingebunden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz