Datensätze aus extra Formular SUCHEN
-
Hallo!!
Wollt mal Fragen wie ich einen Datensatz aus einer Datenbank (Paradox7) suchen kann???
Die DB hat die Felder: Name, Vorname, Arbeitsplatz und PersNr!
Habe jetzt ein extra Formular entworfen wo ich über Radio Buttons auswählen kann in was für einem Feld ich suche (Name, vorname und Arbeitsplatz)!
Ich stell mir das ganze dann so vor:
Im Hauptformular gibt es:
1 DBLabel (PersNr (wurde in der DB als Zähler deklariert)
3 DBEdit (Name, Vorname, Arbeitsplatz)
also keine DBGridund ein Suchen Button über den Das Formular SearchPerson geöffnet wird!
In diesem wie gesagt 3 Radio Buttons und 1 Edit Feld!!
Nun soll der Text der im Edit Feld drin steht in der Datenbank (natürlich in der entsprechenden Spalte) gesucht und angezeigt werden!
Das Hauptformular soll wieder angezeigt werden und das Suchen Fenster geschlossen werden!!!
Danke
Ralf
PS: Für eine genaue Erklärung des Codes wär ich sehr dankbar (fang gerade erst an mit dem C++ Builder zu programmieren)!!!
-
Entschuldige, falls ich falsch liege, aber auch beim Thema Datenbanken scheinst du noch nicht allzuweit fortgeschritten sein. In der FAQ findest du einen Link zu einem guten Tutorial für das Zusammenspiel von BCB und Datenbanken, davon kannst du sicher profitieren.
Ein kleineres Tutorial findest du ausserdem direkt in der BCB-Hilfe.
-
Hallo!
Das Tutorial hab ich bereits gelesen!!! Also entweder hab ich das mit dem Suchen überlesen, oder es steht nicht drin!!!
Hast Recht.... Bin noch nicht sehr weit mit DB-Programmierung, aber irgendwann sollte man auch mal anfangen
Hier mal der Source Code den ich bereits geschrieben hab (OnActivate im Hauptformular)!
TLocateOptions SearchOptions;
SearchOptions.Clear();
SearchOptions << loPartialKey;
Table1 -> Locate( "Name", SearchPerson -> SearchText -> Text, SearchOptions);Zu Testzwecken Suche ich hier nur in der Spalte Name!!
-
Und was genau ist das Problem?
-
Wenn ich auf Suchen drücke, bleibt das Programm beim alten Datensatz stehen!
Wenn ich dann das Hauptformular Schließe und wieder öffne springt er zu dem vorher gesuchten Datensatz!!!
Und wenn ich das Schließen über Code mach bringt er ne Fehlermeldung!
-
Mist, jetzt ist mir grad meine Kristallkugel runtergefallen. Wie lautet denn die Fehlermeldung?
Was passiert (code-mässig) wenn du "auf Suchen drückst"?
Und wenn man das Hauptformular schliesst ist doch üblicherweise das Programm zuende!?
-
Die Fehlermeldung lautet beim Öffnen uns Schliessen über Code:
Im Projekt KeyPro.exe ist eine Exception der Klasse EInvalidOperation aufgetreten. Meldung: Aus einem sichtbaren Fenster kann kein modales Fenster gemacht werden.
Was ich aber nicht verstehe da ich im Code angebe:
Personen -> Close();
Personen -> ShowModal();Gruß Ralf
-
Wie gesagt, wenn du die Hauptform schliesst beendet sich dein Programm. Deshalb kann die Form auch nicht nochmal (modal) angezeigt werden.
Warum würdest du überhaupt ein Fenster schliessen wollen, nur um es unmittelbar darauf wieder anzeigen zu lassen?