25. september 2002 - 11:11Der er
33 kommentarer og 1 løsning
Kan jeg lave en søgefunktion i en formular??
Efter stor succes med sidste problem, vælger jeg at tage chancen og indsende et nyt spørgsmål til Eksperten. :-)
I access 2000 er en søge funktion som jo virker fint. Jeg kunne bare godt tænke mig at gøre det lidt nemmere for brugeren. Ved typiske søgninger gøres følgende: Klik på feltet der skal søges i, klik på "Søg", vælg "En del af feltet", skriv hvad du vil søge efter.
Kunne man ikke lave det på sådan en måde at VedDobbeltKlik åbner Access automatisk søgefunktionen til at søge KUN på det pågældende felt og søge med "En del af feltet"???
Ja men jeg vil jo gerne have at den KUN søger i feltet. Kan man evt. bruge makroen SøgEfterPost?? kriteriet "Søg efter" skulle så bare udløse et PopUp vindue hvor man kunne indtaste det man ville søge efter??
Og PS, den kode du har skrevet, hvor skal den stå?? Når jeg ligger den på kontrollen VedDobbeltKlik, skriver Access at den ikke kan finde makroen DoCmd??
Hmmm....lad os starte bagfra: Du vælger egenskaber for formularfeltet, fanen Hændelser, feltet VedDobbeltklik. Vælg Hændelsesprocedure. mellem "Private Sub" og "End Sub" skriver du det jeg skrev. Luk Microsoft Visual Basic vinduet og "kør" formularen. Dobbeltklik i feltet.
tallet 10 fortæller Access at det skal starte acSelectRecord (som er VBA's måde at "åbne" Søg og erstat dialogboksen) DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Ok, det virker nu, sorry jeg var vist lidt langsom. Men den siger stadig væk "hele feltet", i stedet for "en del af feltet". Kan det slet ikke løses?? Og kan jeg lave en sådan hændelsesprocedure på alle felterne eller skal jeg så i stedet lave en makro hvis jeg vil kunne lave denne "smart" søgning selvstændigt på mange felter? Ideen skulle jo være at man kunne bruge denne dobbeltklik funktion alle steder når man søger
Hmmm...du kan lave en funktion, som indeholder det der skal til for at åbne Søg og erstat, og så kalde den fra formularfelternes VedDobbeltklik event.....
Ja jeg bruger SendKeys "%ø%a", False DoCmd.RunCommand acCmdFind men vi skal bare have den til at søge i "en del af feltet". Det er jo det der er hele fidusen..........
Næste... mente jeg "Find næste"....med den jeg bruger nu er det nøjagtig som hvis jeg klikker på "kikkert" symbolet. Nu skal den bare bruge "En del af feltet" i stedet for "Hele feltet"
Hjælper det noget at ændre SendKeys "%ø%a", False Til SendKeys "%ø%a", True
%ø aktiverer "Søg på" og den næste parameter (%a) aktiverer et af elementerne på listen.......prøv med andre bogstaver end %a, det kan være det er det der skal til...
Ja det har jeg. Men når jeg bruger din nye kode markerer den kun "Søg på" altså feltet bliver blåt så jeg kan bladre i den, men standarden er stadig "hele feltet"??? Kan det være noget med opsætningen i Access 2000?? Altså i Indstillinger for rediger/søg?? Der står min til "hurtig søgning"
Jeg har nu prøvet med forskellige bogstaver "%ø%a" i stedet for "a", men der var ikke nogle af dem jeg prøvede som kunne løse det
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.