Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisierung (https://www.delphipraxis.net/106219-tdblookuplistbox-tdblookupcombobox-echtzeitaktualisierung.html)

MKolet 7. Jan 2008 15:04

Datenbank: Paradox • Version: 7 • Zugriff über: DataSource

TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisierung
 
Hallo,
ich lasse mir durch LookUpComboBoxen bzw LookUpListBoxen einzelne Inhalte aus meiner Datenbank über Querys und Datasources auslesen.
Wenn ich nun allerdings etwas an der Datenbank ändere, z.B. einen Eintrag lösche, werden die Boxen nicht automatisch aktualisiert, hierzu ist ein Neustart des Programmes notwendig.
RequestLive des zur Datasource gehörenden Querys steht auf true.

Ist es irgendwie möglich die Boxen bei jeder Änderung zu aktualisieren?!

mkinzler 7. Jan 2008 15:07

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
Schon al ein Refresh/Resync des DataSets versucht?

haentschman 7. Jan 2008 15:10

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
...Hallo...

:?: womit ist ListSource verknüpft Tabelle direkt oder Query

:hi:

PS: TDBLookupComboBox oder TLookupComboBox :gruebel:

Willkommen hier... :dp:

MKolet 7. Jan 2008 15:17

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
Die Datasource ist mit dem Query verknüpft und es ist eine TDBLooUpListBox

Refreshed hab ich schon alles was ich finden konnte :|

haentschman 7. Jan 2008 15:23

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
- du brauchst zum einen eine Datasource für die Tabelle wo der ComboBox Eintrag hinsoll...
- du brauchst zum anderen eine ListSource für die Daten welche in der ComboBox Liste auswählbar sind...

... wo kommen Deine Listeneinträge her ? :gruebel:

PS: Schreibfehler liegen nicht an meiner Rechtschreibung... ich brauche neue Batterien :-D

MKolet 7. Jan 2008 15:30

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
Die kommen direkt von der Datasource.
In der LookupComboBox kann man dann ein ListField auswählen

haentschman 7. Jan 2008 15:38

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
:gruebel:

d.h. DataSource und ListSource haben die gleiche Datasource ---> Query ?

- setzt Du ListField zur Laufzeit oder im Objektinspektor ?

Zitat:

Schon al ein Refresh/Resync des DataSets versucht?
... Refresh der Query hat nichts gebracht ?

MKolet 7. Jan 2008 15:41

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
ListField im Objektinspektor.
Ich muss mich korrigieren, die Datasource der Query ist nur als ListSource angegeben, die Datasource der Combobox ist leer, da er mir sonst eine zirkuläre Verbindung signalisiert

RavenIV 7. Jan 2008 15:44

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
Zitat:

Zitat von MKolet
Die Datasource ist mit dem Query verknüpft und es ist eine TDBLooUpListBox

Refreshed hab ich schon alles was ich finden konnte :|

Refresh bringt eine Query nicht immer dazu, die Daten neu zu lesen.
In den meisten Fällen hilft aber ein Close und anschliessendes Open.

haentschman 7. Jan 2008 16:00

Re: TDBLookUpListBox / TDBLookUpComboBox Echtzeitaktualisier
 
... ah jetzt ja... :-D

- da hast du einen Fehler im Ansatz...
Zitat:

die Datasource der Query ist nur als ListSource angegeben, die Datasource der Combobox ist leer
- du brauchst DataSource und ListSource um das zu erreichen was du möchtest.
- zirkuläre Verbindung weil DataSource = ListSource ... nicht möglich.


versuche mal folgendes:

- 2 Querys Bsp: QueryDaten , QueryListe
- 2 DataSources Bsp: DSDaten , DSListe
- Verknüpfungen: DSDaten mit QueryDaten, DSListe mit QueryListe
- Datasource der ComboBox --> DSDaten
- ListSource der ComboBox --> DSListe
- ListField der ComboBox zur Laufzeit setzen ( z.B. in OnShow ) ...nach Öffen der QueryListe
- Querys definieren und öffnen zur Laufzeit ( z.B. in OnShow )
- bei Veränderung der Daten in QueryDaten (z.B. in OnDataChange von DSDaten) QueryListe.Refresh oder Open
[edit]besser AfterPost der Query / Tabelle [/edit]
:warn: ich weiß jetzt nicht ob die Querys, welche du verwendest nur ReadOnly sind dann solltest Du die DSDaten direkt mit der TabelleDaten verknüpfen und die QueryDaten weglassen.
:warn: wenn Du TQuery verwendest... DSDaten mit TabelleDaten verknüpfen nur 1 Query für Liste

Hoffe das hilft dir weiter...


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