![]() |
Master-/Detailqueries in Rave
Hallo zusammen,
ich habe ein Dataset (genauer ein dxMemDataSet), welches eine Reihe von Artikelnummern enthält, die gedruckt werden sollen. Weiterhin habe ich eine Query, die die Details eines Artikels zur Verfügung stellt (SQL: ... WHERE ID_ARTIKEL = :ID_ARTIKEL). Die DataSource-Eigenschaft der Artikelquery ist an eine TDataSource-Komponente gebunden, die wiederum an das Masterdataset geknüpft ist. Soweit also alles das Übliche; wenn der Masterdatensatz bewegt wird, wird automatisch die Detailquery aktualisiert. Nun habe ich im Ravedesigner ein Databand, das mit meinem Masterdataset verbunden ist. Auf diesem Databand sind div. DataText Komponenten, die an meinem Detaildataset (Artikel) hängen. Versuche ich nun den Job zu drucken, scheint meine Detailquery nicht automatisch aktualisiert zu werden wenn der nächste Masterdatensatz an der Reihe ist, ich erhalte x-mal den gleichen Artikelaufkleber. Weiß jemand wie ich Rave dazu überreden kann meine Detailquery zu aktualisieren ? Schöne Grüße Stefan |
Re: Master-/Detailqueries in Rave
Hallo Stefan,
du brauchst noch ein zweites DataBand, auf dem dann die ganzen Detail-Komponenten liegen. Folgende Eigenschaften musst du da dann entsprechend setzen: DataView ControllerBand MasterDataView MasterKey DetailKey Gruß Jaqueline |
Re: Master-/Detailqueries in Rave
Hi Jaqueline,
das was Du beschreibst ist das "Standardverfahren" für Master-Detail Reports. Dies funktioniert aber nur, wenn im Detail-Dataset alle Datensätze "gleichzeitig" vorhanden sind. Mein Problem ist dass mein Detail-Dataset immer nur genau einen Datensatz enthält (where ID_ARTIKEL = :ID_ARTIKEL); es müsste also das Detail-Dataset immer geschlossen, Parameter gesetzt und wieder geöffnet werden - wie es auch funktioniert wenn man in Delphi die Datasourcekomponente im Objektinspektor setzt - wenn der nächste Masterdatensatz drankommt. Das Master-Dataset dient in meinem Fall ausschließlich dazu um festzulegen, welche Datensätze (IDs) gedruckt werden sollen. Wenn ich die WHERE clause im Detaildataset weglasse funktioniert es natürlich, aber die Performance ist dann grottenschlecht weil es sich um eine riesige Tabelle handelt in der dann dauernd übers Netzwerk mit locates (implizit) rumgefahren werden muss. Gruß Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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