24. september 2002 - 14:04Der er
14 kommentarer og 1 løsning
Fritekstsøgning i formular
Hej eksperter, det jeg søger efter er: Jeg har en formular i tabelformat, på denne formular kunne jeg godt tænke mig at insætte en tekstboks, og ved siden af en knap. Jeg vil så gerne indtaste et eller andet i tekstboksen, og derefter trykke på knappen. Nu skulle søgefunktionen gerne søge i alle mine felter og så returnere, og filtrer de poster der indeholder noget der matcher det jeg har skrevet i tekstboksen, man kunne forestille sig at det kunne køre som den form for fritekstsøgning man kender fra hjemmesider på internettet. Min database er opbygget helt efter bogen med tabeller relationer forespørglser e.t.c. Jeg kunne forstille mig at problemet kunne være at man kun kan få returneret poster fra et enkelt felt, men det du'r ikke. Kan det lade sig gøre. mvh Anders
Jeg har lavet en funktion, som søger blandt de felter på formularen, som har egenskaben "Mærke" (Tag) = "Søg" Dvs du markerer de ønskede felter og giver dem alle egenskaben "Mærke" = "Søg"
På dit tekstfelt lægger du denne kode på AfterUpdate:
Public Function HentFilter(Søgeord As String) As String
Dim SQLStr As String Dim ctrl As Control
For Each ctrl In Screen.ActiveForm If ctrl.Tag = "Søg" Then SQLStr = SQLStr & "[" & ctrl.ControlSource & "] Like '*" & Søgeord & "*' Or " End If Next ctrl If SQLStr <> "" Then SQLStr = Left(SQLStr, Len(SQLStr) - 4) End If HentFilter = SQLStr End Function
Hej Thomas Jeg har nu testet, og det køre bare perfekt, en sidste ting der kunne være smart er en msgbox hvis der ikke er noget der matcher, well det var bare en hurtigt og proff hjælp, og points er nu på vej til dig. >>Tery, også tak for dit indlæg.
Det skal du ikke tænke på. Terry fik dem bare i stedet for mig,men han har nu gvet mig 200 point.
Ang. dit sidste spørgsmål: læg denne kode på knappen/tekstboksen i stedet:
Me.filter = HentFilter(Me![DitSøgFelt]) Me.FilterOn = True If Me.RecordsetClone.RecordCount = 0 Then MsgBox "Ingen poster opfylder kriteret!" Me.FilterOn = False End If
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.