PDA

Vollständige Version anzeigen : Volltextsuche über Filter


kaosqlco
29.08.2001, 00:26
Hallo,

ich möchte in einem Formular wahlweise alle Datensätze oder die, die einen bestimmten Suchbegriff enthalten, angezeigt bekommen.
Den Suchbegriff will ich in ein Textfeld eingeben und die Suche per Button starten.
Ich habe es mit - Wie "*" & [forms].[meinFormular].[meinSuchfeld] & "*" - probiert und werde trotzdem jedesmal nach den Parameterwerten gefragt.

Außerdem sollen beim Starten des Formulars alle Daten angezeigt werden, was zwar passiert, aber auch erst nachdem ich die Parameterabfrage weggeklickt habe.

Wer kann mir helfen?

Gruß Jan

Lupus
29.08.2001, 07:33
hi ..

vieleicht hilft dir das weiter
voraussetzung: eine tabelle mit einem feld "Artikelbezeichnung"
in diesem feld wird gesucht

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> StartSuchenButton_Click()
DoCmd.GoToControl "Artikelbezeichnung" <span class="REM">'Feld in dem gesucht wird</span>
DoCmd.FindRecord meinSuchfeld, acAnywhere
<span class="TOKEN">If</span> Artikelbezeichnung Like "*" & meinSuchfeld & "*" <span class="TOKEN">Then</span>
MsgBox "Artikel gefunden!"
<span class="TOKEN">Else</span>
DoCmd.GoToControl "meinSuchfeld"
MsgBox "Artikeltext nicht gefunden ?"
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Ende_Artikelwahl:
<span class="TOKEN">Exit Sub</span>
on_Error_Artikelwahl:
DoCmd.GoToControl "meinSuchfeld"
MsgBox "Bitte Artikeltext eingeben, keine Leerzeichen verwenden?"
<span class="TOKEN">Exit Sub</span>
<span class="TOKEN">Resume</span> Ende_Artikelwahl

<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>

Gruß suchender Lupus

WalterS
29.08.2001, 19:33
Hallo k.....!
statt
Wie "*" & [forms].[meinFormular].[meinSuchfeld] & "*"
nimm
Wie "*" & [forms]![meinFormular]![meinSuchfeld] & "*"

Phillip-Berlin
29.08.2001, 20:00
@walter
berliner können manchmal auch den kürzeren ziehen ;)

in die abfrage in das feld in dem gesucht werden soll als kriterium
[meinSuchfeld] sei ungebunden!

Wie "*" & [meinSuchfeld] & "*"

kaosqlco
29.08.2001, 20:50
Hallo,

Danke für die Vorschläge.

Lupus hat mich irgendwie falsch verstanden - ich will die Datensätze mit den Treffern gefiltert bekommen.

Walter und Phillip liegen da besser - allerdings funktioniert beides bei mir nicht.
Ich bekomme die altbekannte Frage nach den Parameterwerten.

Vielleicht gibt es auch einen Ansatz über VBA? D.h. das Kriterium/der Filter wird erst gesetzt, wenn ich einen Text eingegeben und auf den Suchen-Button gedrückt habe.
Wer hat einen Tipp.

Gruß Jan (auch aus Berlin).

Lupus
29.08.2001, 21:41
ahja ... sorry,
bin als noch blond und bis ich grau werde dauert noch etwas :D

dann versuchen wir es mal hiermit ..

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> meinSuchfeld_AfterUpdate()
<span class="TOKEN">Dim</span> strFilter <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">On Error GoTo</span> meinSuchfeld_Err
<span class="TOKEN">With</span> CodeContextObject
DoCmd.Requery ""
.FilterOn = <span class="TOKEN">False</span>
strFilter = "'" & .meinSuchfeld & "'"
.Filter = "Artikelbezeichnung like '*'& " & strFilter & "&'*'"
.FilterOn = <span class="TOKEN">True</span>
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
meinSuchfeld_Exit:
<span class="TOKEN">Exit Sub</span>
meinSuchfeld_Err:
MsgBox Error$
<span class="TOKEN">Resume</span> meinSuchfeld_Exit
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>

denke das nun klappert ...

gruß lupus

kaosqlco
29.08.2001, 22:44
Hallo Lupus,

Du hast einen gut - es funktioniert genauso wie ich mir es vorgestellt habe.

Wie kann ich nun aber 2 oder mehr Textfelder (bei mir: Stichwort, Handling, Anmerkung) abfragen und die gefundenen Datensätze (ohne Doppelung) anzeigen lassen?

Gruß Jan

kaosqlco
19.10.2001, 18:07
Hallo Forum,

ich habe immernoch das Problem und mit wildem Herumprobieren habe ich es nicht lösen können.

Hat jemand eine Idee?

Gruß Jan