Avatar billede andersjensen Nybegynder
20. oktober 2000 - 13:25 Der er 7 kommentarer og
1 løsning

Fritextsøgning i access

Hej

Findes der en rimelig nem måde at lave en form for fritektsøgning i en access base, den indbyggede søgning fungere såmen godt nok men er ikke altid lige brugervenlig. Et eks. kunne være:

en knap på en formular som aktivere en dialogboks.

i dialogboksen er der indsat et ubundet kontrolelement.

man kunne så evt. skrive anders og databasen skulle så retunere alle poster som indeholder
ordsætningen anders på tværs af alle felter i formularen.

Det skulle helst fungere uden brug af diverse
jokertegn.

et andet eks kunne være:

samme som ovenstående, men med nogle afkrydsningsfelter som kunne indikere om man feks. ville søge på feltet navn e.t.c.

PS: det sidste eks. er absolut det maksimale

Mvh andersjensen
Avatar billede moses Praktikant
20. oktober 2000 - 13:55 #1
Du laver et tekst felt, som hedder Criteria.
Og så laver du en knap, som hedder Find. Til den knap laver du så følgende :


Private Sub Find_Click()
On Error GoTo Err_Find_Click

    Dim rst As DAO.Recordset
    Dim strSearchName As String

    If IsNull(Me![Criteria]) Or (Me![Criteria] = \"\") Then
        Beep
        Me![Criteria].SetFocus
    Else
        Set rst = Me.RecordsetClone
        strSearchName = Me!Criteria

            rst.FindFirst \"[Kolonne1] like \'*\" & strSearchName & \"*\'\"
            If rst.NoMatch Then
                rst.FindFirst \"[Kolonne2] like \'*\" & strSearchName & \"*\'\"
                If rst.NoMatch Then
                    rst.FindFirst \"[Kolonne3] like \'*\" & strSearchName & \"*\'\"
                    If rst.NoMatch Then
                        rst.FindFirst \"[Kolonne4] like \'*\" & strSearchName & \"*\'\"
                        If rst.NoMatch Then
                            Beep
                        End If
                    End If
                End If
            End If
        End If
        If Not rst.NoMatch Then Me.Bookmark = rst.Bookmark
        rst.Close
    End If
   
Exit_Find_Click:
    Exit Sub

Err_Find_Click:
    MsgBox Err.Description
    Resume Exit_Find_Click
   
End Sub
Avatar billede moses Praktikant
20. oktober 2000 - 13:56 #2
Den er hurtig og den er nem at udbygge :-)
Avatar billede andersjensen Nybegynder
20. oktober 2000 - 17:32 #3
Hej Moses det virker fint, og det er meget hurtigt,men kan man også få koden til at sætte focus på på kontrolelementet i formularen, når søgningen er gennemført lidt ala den kode der sætter focus på feltet criteria hvis dette er tomt.Ydermere kan der fikses en find næste funktion, gerne på samme knap.

*SSS* andersjensen
Avatar billede andersjensen Nybegynder
22. oktober 2000 - 01:18 #4
Hej Moses

Jeg har nu fået alt til at virke perfekt, der er ydermere bygget nogle flere funktioner på din kode det bare super. Mange tak for hjælpen det var alle 100 point værd.


*SSSS* andersjensen
Avatar billede moses Praktikant
23. oktober 2000 - 08:08 #5
Selvtak !
Avatar billede fomse Nybegynder
06. august 2001 - 13:08 #6
moses>>

Jeg står også og skal bruge noget lignende, men kan ikke rigtigt få det til at virke!! Kan du hjælpe mig for 100 point selvfølgelig?

Fomse:-)
Avatar billede moses Praktikant
06. august 2001 - 13:29 #7
Ja - så skal jeg lige vide, hvad jeg skal hjælpe med. Det ville nok være mest fair, hvis du bare oprettede endnu et spørgsmål. Så må vi jo se, om jeg kommer først.
Hvis ikke, så får du jo dit svar alligevel - bare ikke af mig.
Avatar billede fomse Nybegynder
06. august 2001 - 13:40 #8
Okay jeg opretter et spørgsmål.
Forresten så har jeg også sendt deg en mail.

Fomse:-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester