Ik ben bezig om een uitgebreid zoekformulier te maken voor mijn database. Er moet onder andere aangegeven kunnen worden of er hoofdlettergevoelig gezocht moet worden, in welk veld er gezocht moet worden, of het exacte woord of een deel ervan gezocht moet worden, etc. Verder moet het ook mogelijk zijn om op meerdere zoekcriteria tegelijk te zoeken, bijvoorbeeld: plaatsnaam = Amsterdam EN trefwoord = Zorgsector.
Nu heb ik de volgende code werkend:
Deze zoekt keurig naar alle records die 'zoektekst1' in het veld 'zoekveld1' hebben staan, en geeft vervolgens een selectie weer van alle records die aan de criteria voldoen.
Maar: ik wil nu er voor gaan zorgen dat er ook meerdere zoektermen tegelijk kunnen worden ingevoerd, en dat er bovengenoemde zoekopties aan meegegeven kunnen worden.
Op de een of andere manier moet ik dat allemaal in stLinkCriteria gaan verwerken, maar ik heb geen idee hoe dat moet en of het wel mogelijk is?
Ik ben na wat zoeken terechtgekomen bij de functie FindRecord. Daarvoor had ik het volgende gemaakt:
Maar deze code werkt helaas niet. Misschien omdat ik nergens kan aangeven dat hij in de tabel Fondsen moet zoeken ofzo?
Omdat mijn code bij FindRecord niet werkt, weet ik niet of het resultaat van deze functie wel doet wat ik wil: een selectie openen van alle records die voldoen aan de criteria, en niet alleen de eerste record die hij tegenkomt.
Ook heb ik met parameterqueries zitten klooien. Maar dan krijg je van die invoervakjes achter elkaar. Dat wil ik dus niet, gebruikers moeten alle waarden gelijk in het zoekformulier kunnen invoeren.
Weet iemand of ik op de juiste weg zit? Moet ik DoCmd.OpenForm of DoCmd.FindRecord gebruiken? En / of moet ik iets met queries gaan doen? Ik weet niet zo goed in welke richting ik nu verder moet zoeken om te bereiken wat ik wil.
Ik moet erbij zeggen dat ik niets weet van VB Script, ik ben me er alleen vanwege deze database in gaan verdiepen.
Alvast bedankt!
Nu heb ik de volgende code werkend:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Private Sub Knop44_Click() On Error GoTo Err_Knop44_Click Dim stDocName As String Dim stLinkCriteria As String Dim strFilterQuery As String stDocName = "Fondsen" stLinkCriteria = "[" & [Forms]![Zoekformulier]![Veld1].Value & "]=" & "[Forms]![Zoekformulier]![Zoektekst1].Value" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Knop44_Click: Exit Sub Err_Knop44_Click: MsgBox Err.Description Resume Exit_Knop44_Click End Sub |
Deze zoekt keurig naar alle records die 'zoektekst1' in het veld 'zoekveld1' hebben staan, en geeft vervolgens een selectie weer van alle records die aan de criteria voldoen.
Maar: ik wil nu er voor gaan zorgen dat er ook meerdere zoektermen tegelijk kunnen worden ingevoerd, en dat er bovengenoemde zoekopties aan meegegeven kunnen worden.
Op de een of andere manier moet ik dat allemaal in stLinkCriteria gaan verwerken, maar ik heb geen idee hoe dat moet en of het wel mogelijk is?
Ik ben na wat zoeken terechtgekomen bij de functie FindRecord. Daarvoor had ik het volgende gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Private Sub FindRecord_Click() On Error GoTo Err_FindRecord_Click Dim Criterium As String Criterium = [Forms]![Zoekformulier]![Zoektekst1].Value DoCmd.FindRecord " & Criterium & ", , , , False, acAll, True Exit_FindRecord_Click: Exit Sub Err_FindRecord_Click: MsgBox Err.Description Resume Exit_FindRecord_Click End Sub |
Maar deze code werkt helaas niet. Misschien omdat ik nergens kan aangeven dat hij in de tabel Fondsen moet zoeken ofzo?
Omdat mijn code bij FindRecord niet werkt, weet ik niet of het resultaat van deze functie wel doet wat ik wil: een selectie openen van alle records die voldoen aan de criteria, en niet alleen de eerste record die hij tegenkomt.
Ook heb ik met parameterqueries zitten klooien. Maar dan krijg je van die invoervakjes achter elkaar. Dat wil ik dus niet, gebruikers moeten alle waarden gelijk in het zoekformulier kunnen invoeren.
Weet iemand of ik op de juiste weg zit? Moet ik DoCmd.OpenForm of DoCmd.FindRecord gebruiken? En / of moet ik iets met queries gaan doen? Ik weet niet zo goed in welke richting ik nu verder moet zoeken om te bereiken wat ik wil.
Ik moet erbij zeggen dat ik niets weet van VB Script, ik ben me er alleen vanwege deze database in gaan verdiepen.
Alvast bedankt!