Avatar billede meierz Nybegynder
23. juni 2004 - 18:01 Der er 11 kommentarer og
1 løsning

Filter knap i formular med parameter + konstant kriterie

Hejsa - Jeg er en absolut Access newbie, der er blevet smidt ud i at skulle lave et pænt komplekst database system, så der kommer nok mange spørgsmål herfra.

Jeg har en form der som default viser ca 100000 poster, hver bruger skal let kunne filtrere på 2 felter nemlig [postnr] og [anvendelse] - derud over filtreres på en masse andre felter - PT har jeg de 2 knapper og med lidt fusker kode har jeg fået det til at virke bortset fra at den spørger mig om en parameter ved knap2 anvendelse som jeg i Filter= har sat til anvendelse=parcelhus

Jeg vil gerne have 1 Knap, der spørger efter [PostNr] og evt med en checkbox der sætter [anvendelse] = parcelhus - og hvis boxen ikke afkrydses sættes filtret bare uden denne parameter, helt optimalt var det hvis filteret automatisk blev sat uden denne parameter hvis den returnerede 0 records ...


Min nuværende VB kode ser sådan ud :

Private Sub PoNRmedParcelhus_Click()

Me.Filter = ""  'Nulstilling af filter, ellers virker det ikke i access 2000
Me.FilterOn = True

Me.Filter = "postnr=[Indtast Postnr] AND ( [ring tilbage] Is Null AND anvendelse=parcelhus AND afsluttet Is Null AND [møde booket] Is Null AND [er eksisternede kunde hos if] Is Null AND [Ønsker Telefon møde] Is Null AND Opgivet Is Null AND [Opfylder ikke krav] Is Null)"
Me.FilterOn = True

If Me.RecordsetClone.RecordCount = 0 Then
Me.Filter = ""
Me.FilterOn = True
MsgBox "Ingen Data opfyldte betingelserne!", vbExclamation
End If

End Sub

Private Sub PoNRudenParcelhus_Click()
Me.Filter = ""
Me.FilterOn = True

Me.Filter = "postnr=[Indtast Postnr] AND ( [ring tilbage] Is Null AND [Afsluttet] Is Null AND [møde booket] Is Null AND [er eksisternede kunde hos if] Is Null AND [Ønsker Telefon møde] Is Null AND Opgivet Is Null AND [Opfylder ikke krav] Is Null)"
Me.FilterOn = True

If Me.RecordsetClone.RecordCount = 0 Then
Me.Filter = ""
Me.FilterOn = True
MsgBox "Ingen Data opfyldte betingelserne!", vbExclamation
End If

End Sub

Håber ikke det var alt for meget tekst :-)
Avatar billede terry Ekspert
23. juni 2004 - 18:07 #1
try taking a look at this example Thomas has made.
http://www.makeiteasy.dk/eksempler/DynamiskSøgefunktion.zip
Avatar billede mugs Novice
23. juni 2004 - 18:08 #2
DoCmd.ApplyFilter "ditfilter", "Anvendelse Like [Navn ?]"
Me.FilterOn = True
Avatar billede meierz Nybegynder
23. juni 2004 - 18:26 #3
Hey mugs , Ehmm hvad er forskellen på DoCmd.ApplyFilter og  Me.Filter=

Terry har kigget på hans eksempel allerede, og skrevet med ham da filter funtionen ikke virkede i access 2000 .... men syntes ikke helt jeg kan konvertere den kode til noget simpelt og fornuftigt ...
Avatar billede mugs Novice
23. juni 2004 - 18:40 #4
Jeg anvender:

Me.Filter = "interessant = True"

Når jeg refererer til en bestemt værdi i et felt, og docmd... når jeg vil isolere poster, og have mulighed for at bestemme indholdet i feltet:

The following example uses the ApplyFilter method to display only records that contain the name King in the LastName field:

DoCmd.ApplyFilter , "LastName = 'King'"

Anvender Access2000 filformat, og Thomas Jepsens kode fungerer perfekt. Eksemplet er meget anvendeligt til at filtrere mange poster med efterfølgende udskrivning af filtrerede poster.
Avatar billede terry Ekspert
23. juni 2004 - 18:52 #5
Avatar billede terry Ekspert
23. juni 2004 - 18:53 #6
and you need demo 97.zip in the link
23. juni 2004 - 23:33 #7
Meierz, den funktion som vi mailede om og som ikke virkede i Access 2000 (men kun i Access XP og 2003) var kalender-eksemplet. Den er bygget lidt anderledes op end den Dynamiske Søgefunktion, som Terry refererede til i første indlæg. Der skulle ikke være nogle fejl i denne (hvis der er, hører jeg selvfølgelig gerne fra dig eller andre)

Mht vejledning, så her jeg lavet en kort vejledning til hvordan funktionen implementeres i en applikation. Vejledningen ligger i seneste version af databasen her: http://www.makeiteasy.dk/eksempler/DynamiskSøgefunktion.zip

Jeg håber, at det hjælper en smule? Det lyder som om, at mit eksempel ville passe fint til dit behov.
Avatar billede meierz Nybegynder
25. juni 2004 - 20:30 #8
Hmmm - jeg roder lidt med dit eksempel thomas og ser om jeg kan få det til at virke, med de faste parametre som jeg altid skal filtrere efter.... giver lige lyd når jeg har fået det til at virke :)  Men ehmm ved ikke lige helt hvem af jer der skal have points ... på sin vis er det hvis mugs der løser mit problem i nuværende kode - og thomas's udemærket eksempel kode der gør at jeg nu forsøger at lave en endnu bedre filter funtion i en ny pop up form ... med mange forskellige filtre muligheder ...

er i klar på en deler ... :)
Avatar billede mugs Novice
25. juni 2004 - 20:33 #9
Du fordeler point som du synes er retfærdigt. Det vil blive accepteret af mig.
25. juni 2004 - 20:37 #10
Jeg skal ikke have nogle....giv mine til Terry. Det var ham, som foreslog mit eksempel :o)
Avatar billede meierz Nybegynder
25. juni 2004 - 23:50 #11
Nå hov - nu fik i vist alle sammen nogle - skulle lige fatte det med accepteret svar knappen - var det ikke lidt mere brugervenligt at den hed "giv point til" :)

Thanks Guys
Avatar billede mugs Novice
26. juni 2004 - 08:49 #12
http://www.eksperten.dk/spm/513998

meierz > Du har givet alle point til mig. For at dele point skal du markere relevante brugere i boksen, og derefter trykke accepter så fordeles point ligeligt.
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