Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mehrfach verwendbare Suchmaske (https://www.delphipraxis.net/152986-mehrfach-verwendbare-suchmaske.html)

Roaster 15. Jul 2010 14:47

Datenbank: Firebird • Version: 2.1 • Zugriff über: IbDac

Mehrfach verwendbare Suchmaske
 
Hi,

ich bin gerade dabei eine Datenbankanwendung zu schreiben, das derzeit darauf beschränkt ist, in einer Suchmaske einen Kunden zu suchen, das Suchergebnis in einem DBGrid zu präsentieren und nach Auswahl einer Datenzeile in eine Pflegemaske zu springen.

Das ganze ist momentan experimentell und folgendermassen aufgebaut: ein TFrame beinhaltet ein TPageControl mit mehreren Tabs. Im ersten Tab ist die Suchmaske mit dem Ergebnis-DBGrid enthalten in den weiteren Tabs die Eingabefelder (alles TDBxxx Controls) für die Pflege der Kundendaten (und dessen abhängige Tabellen wie Telefonnummern, Aktivitäten usw.). Nach der Auswahl eines Kunden im ersten Tab wird automatisch in das zweite Tab zur Datenpflege gewechselt.

Ich nutzte als Datenbank Firebird 2.1 mit den kommerziellen IbDac Komponenten, eine ganze Menge TClientDatasets usw. ausgelagert in einem TDataModule.

Was ich eigentlich machen möchte ist, die Suchmaske mehrfach verwendbar zu machen. Soll heißen der Dialog soll von anderen Teilen das Programms (bspw. Auftrag anlegen, Rechnung erfassen usw.) ebenfalls aufrufbar sein und nach Auswahl eines Kunden diesen dann bspw. in ein Eingabefeld einfügen oder ähnliches.

Mit anderen Worten: ich suche nach Möglichkeiten eine solche Suchfunktion so universell wie möglich einsetzbar zu machen. Soll diese weiterhin auf einem TFrame bleiben, wäre ein modales Suchfenster in einem eigenen Packages besser? Wo sollen die dazugehörigen TClientDataSet hin, usw, usw.?

Macht es Sinn die Komponente TDBNavigator zu verwenden um alle im Suchergebnis (im DBGrid) gefundenen Kunden nacheinander abzuarbeiten oder ist es besser lediglich immer einen einzelnen Kunden zu bearbeiten?

Gibt es hierzu eine generelle Vorgehensweise sowas zu lösen. Ich experimentiere auch mit dem Jedi Plugin System um eine modular aufgebaute Anwendung zu bekommen, die man bei Bedarf mit neuen Packages (BPLs) erweitern kann.

Ich verwende hierzu D2009, btw.

mkinzler 15. Jul 2010 14:48

AW: Mehrfach verwendbare Suchmaske
 
Handelt es sich immer um die selben Felder?

Roaster 15. Jul 2010 15:16

AW: Mehrfach verwendbare Suchmaske
 
Zitat:

Zitat von mkinzler (Beitrag 1035526)
Handelt es sich immer um die selben Felder?

Meinst du die Suchfelder? Wenn ja, dann sind es immer die gleichen.

Oder meinst du die Zielfelder in die bspw. die Kundenummer aus dem jeweiligen Suchergebnis geschrieben werden soll, dann ist die Antwort eher nein.
Die Zielfelder sollten nach dem Aufruf der Suchmaske und der Auswahl eines Kunden individuell sein, je nach Anwendungsfall oder besser ausgedrückt, je nach dem von wo aus die Suchmakse gestartet wurde.

stahli 15. Jul 2010 15:36

AW: Mehrfach verwendbare Suchmaske
 
Schwer zu sagen...

Ich würde wohl ein (modales) Form bevorzugen und dem vielleicht eine Methode "ShowInMode(Mode: Integer)" verpassen.
Dann kannst Du das Form durch einem einfachen Aufruf öffnen und für bestimmte Anforderungen voreinstellen.

Ein Frame wäre ja eigentlich nur vorteilhaft, wenn Du die "DB-Einheit" gleichzeitig in mehreren Formularen oder Registern einsetzen willst.


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