PDA

Vollständige Version anzeigen : Suchformular


mario
10.06.2001, 22:45
hallo und guten abend,
mein problem, auf dem gebiet access und vba hab ich eine totale glatze:-), aber aus finanziellen gründen muß ich es lernen :-(
ich habe in access 2000 ein db tabelle angelegt, mit dem ziel, ca 20 000 bücher zu katalogisieren. jetzt würde ich gerne ein suchformular erstellen, wo man titel und/oder autor eingibt und wenn der datensatz vorhanden ist, wird er komplett angezeigt.verlag, auflage ect.
und hier stehe ich dann am ende mit meinem können.
wie erstellt man am effektivsten so ein formular.ich bräuchte da bitte einen anstoß, in welche richtung ich denken muß.hab mir extra den access berater gekauft, da find ich aber auch keinen ansatzpunkt(eventuell vba?).aber eines weiß ich jetzt schon, access ist eine sache, die mich begeistert.
vielen dank schon im voraus für eure bemühungen,
tschau und eine gute nacht, mario

Bernd Koch
11.06.2001, 03:08
Hier im Forum gibt es rechts oben über den Beiträgen u. a. auch den Link "Suchen"; damit kannst du, wie bei einer Suchmaschine, alle Beiträge des Forums durchforsten.

Gib mal beim obersten Feld "Suchbegriff(e)" das Wort "Suchformular" ein - und drücke unten auf die Schaltfläche "Suchen"; es kommen 15 Beiträge (inkl. deinem eigenen).

Klick nun mal auf zwei davon:

- "Parameterabfrage über Formular" (siehe dort den untersten Eintrag)

- "SuchFormular erstellen" (dort die Antwort von Tommy - verzweige auf seine homepage (ist eh ein Gewinn) oder klicke auf den Link, den Kalle angibt.

Das sollte eigentlich deine Frage lösen (und du weist jetzt außerdem, wie man evtl. an Infos kommt, ohne eine Frage ins Forum zu stellen).

Falls du aber nicht weiter kommst, frag selbstverständlich wieder hier nach.

Bernd

Ivonne
11.06.2001, 03:17
Hallo Mario,

was das lernen angeht, wirst Du bald merken dass Du ewig am lernen sein wirst, wie wir alle, die sich mir Entwicklung von Datenbanken beschäftigen, denn es werden immer wieder neue Aufgaben auf Dich zukommen, wo das Ziel immer der Lösungsweg ist.

Für Deine Frage kann ich Dir folgende Lösung anbieten.

1. Erstelle eine Abfrage in der die Felder die Du benötigst (erhältst Du aus Deinen Tabellen), ausgegeben werden
Bezeichne diese Abfrage sinnvoll (setze vor der Bezeichnung den Präfix qry).

2. Erstelle ein Formular, dass auf der oben genannten Abfrage aufbaut (setze vor der Bezeichnung den Präfix ufrm).

3. Erstelle ein weiteres Formular (setze vor der Bezeichnung den Präfix frm).
Füge in dem Formular (frm) Dein Unterformular (ufrm) ein und passe die größe an, die Du dafür benötigst. Da siehst Du dann die Ausgabe Deiner Suchfunktion.

4. Verwende für das bzw. die Felder die Du benötigst ungebundene Textfelder. Bezeichne die Textfelder auch sinnvoll (setze vor der Bezeichnung den Präfix txt).
Achte darauf, dass unter rechter Maustaste, Eigenschaften Name des Textfeldes Deine Bezeichnung steht und nicht nur an der Beschriftung die Du auf dem Formular siehst, denn diese ist unbedeutend (da kann alles stehen).

5. Gehe nun wieder in die Abfrage die Du am Anfang erstellt hattest. Gebe in den Feldern in denen Du suchen willst folgendes ein:

Like ([Formulare]![frmDeineBezeichnung]![txtDeineBzeichnung]) & "*"

Mit [Formulare] wird die Optionsgruppe Formulare angesprochen.
Mit [frmDeineBezeichnung] wird Dein Formular angesprochen.
Mit [txtDeineBezeichnung] wird das ungebundene Textfeld angesprochen

Diese 3 stehen in einem Konstrukt ( )und werden durch die ! getrennt.
Durch & “*“ wird die Suche verfeinert (je mehr von einem Namen bzw. einer Bezeichnung drin steht, desto genauer Deine Ausgabe, sofern es den Begriff gibt).

6. Nun zurück in dein Formular, da fügst Du hinter Deinem Textfeld/er eine Befehlsschaltfläche (Commandbutton). Gehst auf die Befehlsschaltfläche mit der rechten Maustaste, gehst auf Eigenschaften, Registerkarte Ereignis, beim klicken à Da muss drin stehen, [Ereignisprozedur].

7. Ein weiteres mal gehst Du auf die Befehlsschaltfläche mit der rechten Maustaste, gehst auf Eigenschaften, diesmal auf Ereignis, da müsstest Du dann in VBA landen. Da gibst Du nur eine Zeile ein:

BezeichnungDeinesUnterformulars.Requery

Durch das Requery wird Dein Unterformular frisch geladen wenn Du auf die Befehlsschaltfläche drückst und sofern Du was im Textfeld eingegeben hast wird nach dem selektiert.


So, ich hoffe es war nicht zuviel Latein und viel Glück beim ausprobieren.

Gruß
Ivonne