Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Suchfunktion in Access





Frage

Hallo, ich habe ein Problem mit Access und zwar ahbe ich eine Große Tabelle mit ca. 600 einträgen. Jetzt würde ich gerne eine Suchfunktion schreiben die mir diese einträge absucht!!! Geht sowas und wie? Bin über jeden vorschlag dankbar! Newan

Antwort 1 von JohnnyLoser

Es wäre doch traurig, wenn man eine Datenbank hätte, inder man nciht suchen kann!

Du solltest aber zumindest noch kurz erklären, was Du wie suchen willst und was mit den gefundenen Daten geschehen soll.

Ansonsten kannst Du einfach mal eine Abfrage erstellen und in Kriterien Deine Suchbegriffe eingeben und Dir das Ergebnis mal anschauen.

Johnny

Antwort 2 von newNewan

Ja aber ich hätte gerne eine Benutzer oberfläche wo ich ein Stichwort eingebe und er mir dann in einen Feld alle treffer anzeigt!

Sonst muß ich doch immer und immr wieder so abfragen schreiben oder?

Newan

Antwort 3 von oliverV

Hallo Newan,

die Abfrage kannst du variabel gestalten, indem du beim Kriterium in deiner Abfrage
=[Bitte Parameter eingeben] reinschreibst, oder Wie [Bitte Parameter eingeben] & „*“, je nach Datentyp des Feldes, alternativ Wie „*“ & [Bitte Parameter eingeben] & „*“
Wenn du die Abfrage ausführst, öffnet sich ein Eingabefeld wo du das gewünschte Suchkriterium eingeben kannst. Bei der zweiten Variante reicht eine Teileingabe, durch das * werden alle Ergebnisse angezeigt, deren Inhalt mit deiner bisherigen Eingabe übereinstimmen. Bei der dritten Variante reicht auch eine Teileingabe aus der Mitte des gewünschten Ergebnisses aus, d.h. vor und nach der Sucheingabe können noch andere Zeichen stehen.

Eleganter löst du die Geschichte, indem du dir ein Suchformular mit einem Suchfeld bastelst und beim Kriteriumsfeld der Abfrage/Datenherkunft Formulare![Formularname]![Suchfeldname] einträgst, dadurch entfällt das auf Dauer lästige Parameter-Eingabefenster.

Gruß
oliver


Antwort 4 von JohnnyLoser

Du kannst mit dem Formular-Assistenten ein Formular erstellen, welches auf Deiner Tabelle oder Abfrage basiert.

Dann kannst Du einen Formularkopf einfügen. In diesen Formularkopf kannst Du ein oder mehrere ungebundene Felder einfügen, in die Du Deine Suchkriterien eingeben kannst.

Mittels VBA kannst Du Dir den RecordSource (Datenherkunft) des Formulars selbst zusammenbauen und neu zuweisen.

Beispiel:
Du hast eine Tabelle mit dem Namen Adressen, die u.a. das Feld Nachname enthält.

Im Formularkopf ist ein ungebundenes Textfeld mit dem Namen sName. Daneben ein Button mit dem Namen BtSearch.

Ins Ereignis Beim Klicken des Buttons schreibst Du folgenden Code:

Sub BtSearch_Click()
Dim sSQL As String
sSQL = "SELECT * FROM [Adressen] "
sSQL = sSQL & " WHERE [Nachname] LIKE '*" & sName & "*'"
Me.RecordSource = sSQL
Me.Requery
End Sub


Gibst Du jetzt in das Feld eine Zeichenfolge ein und drückst den Button, werden Dir alle Datensätze angezeigt, in denen diese Zeichenfolge im Feld Nachname enthalten ist.

Natürlich ist dieses Beispiel sehr einfach, aber fang mal so an, komplexer kannst Du es später immer noch gestalten.

Gruß

Johnny

Antwort 5 von Newan

Danke erst einmal an alle ich versuch es mal wenn ich wieder hängen sollte dann melde ich mich noch mal!!

Danke

Newan

Antwort 6 von newNewan

Zitat:
Eleganter löst du die Geschichte, indem
du dir ein Suchformular mit einem
Suchfeld bastelst und beim Kriteriumsfeld der Abfrage/Datenherkunft Formulare![Formularname]![Suchfeldname] einträgst, dadurch entfällt das auf Dauer lästige Parameter-Eingabefenster..

Hab ich gemacht jetzt will era ber anstatt nur dem Parameterfenster noch ein weiteres parameter Fenster angegeben haben!

Kann das sein das ich beim SQL -Code was Falsch gemacht hab?

Oder geht das auch ohne SQL PProgrammiewrung und kann man das irgendwo auswählen!!!


Newan

Antwort 7 von JohnnyLoser

Immer, wenn eine Parameterabfrage kommt, bedeutet dies, daß Du Dich in einer Abfrage auf einen Feldnamen beziehst, der nicht existiert.

Dieser wird in der Parameterabfrage freundlicherweise im Klartext geschrieben, so daß es nicht schwer sein kann, diesen in Deiner Abfrage zu ermitteln.

Johnny

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: