Avatar billede xzaboo Praktikant
12. februar 2005 - 13:09 Der er 18 kommentarer og
1 løsning

Kommando til Til/Fra-Filter funktionen i Access

Hej alle sammen..
Jeg har søgt alle steder herinde, og kan ikke finde nogen der er stødt på følgende problem før, så tænkte at det var på tide jeg spurgte jer til råds.

Jeg kunne godt tænke mig at vide hvad jeg skal skrive i VBA til en kommandoknap i en formular således at jeg kan slå filter til/fra på denne. JEg har forsøgt mig frem, men idet jeg bruger søgefunktionen 'Filtrer efter Formular' så bliver alle kommando knapper jeg har "deaktiverede" og kan ikke trykkes på.

Mit spørgsmål er derfor:
Hvad skal jeg skrive i VBA for at få Til/Fra-Filter, og således at det også virker når jeg har søgefunktionen 'Filtrer Efter Formular'?

Mvh. Steffen..
12. februar 2005 - 13:11 #1
tænker du på:

Me.FilterOn = False
Avatar billede xzaboo Praktikant
12. februar 2005 - 13:45 #2
Noget lignende ja. Men den virker jo kun til at slå filter fra. Selvfølgelig kan jeg ændre det til True. Der er bare stadig det problem, at når jeg trykker på en knap hvor jeg har lagt 'Filtrer efter Formular' handlingen ind. Så kan jeg ikke trykke på nogen kommandoknapper, da de bliver ligesom hvis man sætter egenskaben 'Aktiveret' til 'Nej' (og derfor nedtonet i farve). Det jeg gerne skulle have, var at den kommando knap er aktiveret hele tiden, sådan at jeg kan bruge den til at slå filter 'til', og ikke kun 'fra'.
12. februar 2005 - 13:47 #3
Så er du nødt til at lægge den på værktøjslinine (hvor den jo forresten ligger i forvejen)
Avatar billede terry Ekspert
12. februar 2005 - 13:55 #4
Try placing a toggle button (one which stoppes down when you press it) on your form name it tglFilter, and then use the folloing Code

Private Sub tglFilter_Click()
    Me.FilterOn = Me.tglFilter.Value
   
End Sub
Avatar billede xzaboo Praktikant
12. februar 2005 - 13:55 #5
Ja, det er jeg godt klar over. Men det skal gerne være sådan at jeg kan aktivere den med en tast. Jeg har lige lagt følgende ind på en tast:

    If KeyCode = vbKeyPause Then
        KeyCode = 0
        If Me.FilterOn = False Then
            Me.FilterOn = True
        Else: Me.FilterOn = False
        End If
    End If

Ovenstående virker også fint nok sålænge jeg ikke har sat 'Filtrer efter Formular' igang. Er det virkelig ikke muligt at undgå og skulle bruge musen?
Avatar billede terry Ekspert
12. februar 2005 - 13:59 #6
In the caption of the toggle button place the following

&Press

Now when you use Alt+P the toggle button gets pressed/depressed
Avatar billede xzaboo Praktikant
12. februar 2005 - 14:02 #7
terry: Det er smart nok, men det løser ikke problemmet med at man skal have fat i musen efter at man har indtastet et søgekriterium i 'Filtrer efter Formular'.
Avatar billede terry Ekspert
12. februar 2005 - 14:17 #8
You can use the Menu shortcut keys if you dont want to use the mouse.
Ther should be a Filter menu and an apply filter
Avatar billede xzaboo Praktikant
12. februar 2005 - 14:51 #9
Hej Terry..
Nu har jeg har prøvet det med Shorcut keys, men det virker ikke efter at man har startet 'Filtrer efter Formular'.
Avatar billede sandmand Nybegynder
12. februar 2005 - 14:57 #10
Strange, it works here! Is the menu visible?
Avatar billede xzaboo Praktikant
12. februar 2005 - 15:06 #11
JA, den er synlig. Men måske har jeg sat det forkert op? Vil du ikke give et hurtig forklaring på hvordan jeg helt præcis sætter funktion 'Til/Fra-Filter' på CTRL + F12
Avatar billede terry Ekspert
12. februar 2005 - 15:06 #12
see I used my wifes login there :o)
Avatar billede terry Ekspert
12. februar 2005 - 15:21 #13
You can try this

Make sure that the forms Key Preview property is set to Yes

Then in the Keydown event

If KeyCode = 123 And Shift Then Me.FilterOn = True
Avatar billede xzaboo Praktikant
12. februar 2005 - 15:36 #14
Hvorfor lige 123 ? 'CTRL + F12' virker overhovedet ikke. Det virker bare mærkeligt, at det ikke er muligt at simpelt og kunne aktivere Me.FilterOn = True selvom 'Filtrer efter Formular' er slået til.
Avatar billede terry Ekspert
12. februar 2005 - 15:40 #15
I you write

Debug.Print KeyCode & " - " & Shift

in the Keydown event then press Ctrl+F12 you should see

123 - 1

Is this correct?
Avatar billede xzaboo Praktikant
12. februar 2005 - 15:47 #16
Undskyld Terry, men jeg er helt forvirret. HVor henne skulle jeg se 123 - 1 ? og hvad skal der helt præcist stå inde i key down eventen ? Der sker i hvert fald intet når jeg skrive det du siger.
Avatar billede terry Ekspert
12. februar 2005 - 15:51 #17
After looking at this further it seems that it isnt possible to send key strokes to the form while it is in Filter By form. You can only enter values into the fields. Or as stated previously by using the menu. Why dont you make your own form filter?
http://home1.stofanet.dk/santhel/Download/Search%20demo%2097.zip
Avatar billede xzaboo Praktikant
12. februar 2005 - 16:03 #18
Dette er ikke en særlig god løsning for mit tilfælde, da jeg har mange felter på min formular. Jeg har selv haft nogle lignende i en anden formular, men valgte dem fra fordi jeg ikke kan bruge >, <, * etc.
Der er jo ikke noget at gøre ved at man ikke kan løse mit problem på den måde jeg havde beskrevet, men mange tak for hjælpen alligevel :)

Mvh. Steffen
Avatar billede xzaboo Praktikant
17. februar 2005 - 14:32 #19
Lukker for nu :)
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