Parameterwaarde opgeven

Status
Niet open voor verdere reacties.

ahkleine

Gebruiker
Lid geworden
1 mei 2014
Berichten
158
Ik heb een access formulier met een onafhankelijk veld om te zoeken, genaamd zoekveld. Aan dit zoekveld hangen 2 procedures, te weten:

Private Sub ZoekMaand_Click()

Me.Filter = "Maand = """ & Me.ZoekMaand & """"
Me.FilterOn = Me.ZoekMaand & "" <> ""

End Sub

EN

Private Sub ZoekMaand_AfterUpdate()
Me.subfrm_BEGROTING.Visible = True


End Sub

De rijbron van het zoekveld is: Januari";"Februari";"Maart";"April";"Mei";"Juni";"Juli";"Augustus";"September";"Oktober";"November";"December"

Met dit zoekveld kun je de gegevens van een bepaalde maand opzoeken die in een subformulier worden weergegeven.

Wat er gebeurt als je het formulier opent en in het zoekveld een bepaalde maand aanklikt krijg ik de een dialoog venster met de mededeling Parameterwaarde opgeven. Ik moet nu de gewenste maand opgeven. Als ik na deze exercitie nogmaals het zoekveld aanklik en een maand kies gaat het wel goed, zonder invulbox.
Wie kan mij helpen
 
Laatst bewerkt:
De FilterOn eigenschap kan True of False zijn, daarvoor gaat de routine kijken of Me.ZoekMaand verschillend is van ?. aangezien je de waarde niet meegeeft in de expressie, die evalueer gewoon tot Me.Zoekmaand <> . De routine verwacht de expressie waar mee deze moet vergelijken, dus krijg je een pop-up venster dat vraagt: verschillend van wat? Als je daar de maand invult zal deze ingevuld worden na de <> en kan de routine verder. Dus: behaves as intended.
 
NoellaG,

Bedankt voor jou snelle reactie. Ik snap niet goed hoe ik de code nu moet veranderen zodat ik dit dialoogvenster niet meer krijg. Wat ik nu ontdekt heb zijn 2 dingen:

1. In een andere database die ik gebruik doet deze code wel gewoon wat hij moet doen.
2. Als ik in het formulier, waarin het fout gaat, gewoon in het zoekveld kies voor bij Januari en in het dialoogvenster dat vervolgens getoond komt de waarde Maart invul krijg ik toch de maand Januari
 
in de eerste lijn zet je de filtervoorwaarde
als je in de tweede lij gewoon

me.filteron = true

zet wordt de filter geactiveerd
 
Noellag,

Wederom bedankt voor de reactie. Ik heb van alles geprobeerd met jou oplossing maar zonder succes. Deze variatie heb ik allemaal geprobeerd:

Zo:

Me.FilterOn = False
Me.Filter = "Maand = """ & Me.ZoekMaand & """"
Me.FilterOn = Me.ZoekMaand & "" <> ""
Me.FilterOn = True

of zo:

Me.Filter = "Maand = """ & Me.ZoekMaand & """"
Me.FilterOn = Me.ZoekMaand & "" <> ""
Me.FilterOn = True

of zo:

Me.Filter = "Maand = """ & Me.ZoekMaand & """"
Me.FilterOn = True

Allemaal zonder succes. Het gekke is dat hij dit doet als je het formulier opent en dan in het zoekveld een maand kiest. Kies je hierna in het zoekveld een andere maand zonder eerst het formulier te sluiten dan gaat het helemaal goed.

Groet Albert Kleine
 
probeer eens:
Code:
Me.Filter = "Maand = """ & Me.ZoekMaand & """"
debug.print me.filter
Me.FilterOn = True

de debug.print drukt dan de filter expressie af in de immediate pane, daarmee kan je controleren of de filterexpressie correct is.
Kan je ook zeggen onder welke event je de code hebt gestoken?
 
Noellag


Weer bedankt. Echter het werkt niet ik heb de code weggestoken onder "Bij klikken
 
Het beste dat je kan doen is steppen door de code, en de lijn + foutmelding geven waar het niet werkt. "Het werkt niet" is een te onduidelijke omschrijving.
En bij welk controle-element heb je de onclick event ingevuld? Een knop? De combobox? ... ?
 
Laatst bewerkt:
Noellag

de laatste code die jij mij hebt gezonden werkt ook niet Ik heb de code gebruikt on click bij een keuzelijst met invoervak
 
en wat is de foutmelding als je gaat steppen?
 
maar waar gaat het fout of wat gebeurt er als je stap voor stap door de code gaat ?????? Bij de debug.print moet er toch iets afgedrukt worden in de immidiate pane (onmiddellijk venster) van de VBA omgeving????
 
Noellag,

Het gaat fout nadat ik het formulier met zoekveld open en in het zoekveld een maand kies. Dan komt er een dialoogvenster met de vraag "Maand" Als ik hier niets invul en gewoon met de Entertoets bevestig, of gewoon iets anders invul en bevestig dan verschijnt in het subformulier gewoon het gevraagde overzicht/lijst. Sluit ik nu het formulier waarin het zoekveld staat vervolgens niet en kies ik in het een andere maand middels het zoekveld dan gaat alles goed, zonder dialoogvenster
 
Laatst bewerkt:
Filter

probeer dit maar eens:

Me.Filter = "Maand = '" & Me.ZoekMaand & "'"
Me.FilterOn = True


er mist nog voor de rijbron van ZoekMaand een " voor Januari
 
Noellag,

Deze oplossing werkt ook niet. Is het een oplossing als ik de desbetreffende database toe ga voegen, zodat je kunt zien waar het fout gaat
 
Dit zou gewoon moeten werken:
Code:
Private Sub ZoekMaand_Click()[/COLOR]
If Me.Zoekmaand.Value [COLOR=#333333]= "" Then
[/COLOR]     [COLOR=#333333]Me.Filter = ""
[/COLOR]     Me.FilterOn = False
Else
[COLOR=#333333]     Me.Filter = "Maand = """ & Me.ZoekMaand.Value & """"[/COLOR]
[COLOR=#333333]     Me.FilterOn = True[/COLOR]
[COLOR=#333333]End Sub[/COLOR]


deze code werkt (uiteraard) niet als je het formulier opent; deze code hangt achter je keuzelijst en werkt dus alleen als je in die keuzelijst een keuze maakt.
 
AccessGuru
Bedankt voor jou reactie. Ik heb jou oplossing direct uitgeprobeerd. Echter het probleem is niet opgelost hiermee. Ik snap er helemaal niets meer van. Het gebeurt alleen als je het formulier open. Als het formulier reeds geopend hebt en de zoekfunctie is al 1 maal gebruikt is gaat het goed. Wat ik ontdekt heb is dat hij bij de 1e keer zoeken hij het zoekcriterium wel kent het volstaat dan door in de dialogbox op ok te drukken
 
Zet een breakpoint in de code, step door de code en zie wat er bij elke stap gebeurt. Dan zie je waar het fout gaat. Of verwijder alle privé gegevens uit je applicatie, zip ze en stuur ze door als attachment.
 
Voorbeeld database waar het fout gaat

AccesGuru

Geweldig dat je mij wilt helpen, ik weet het niet meer

Bij deze de database waar het fout gaat met het zoekveld in het formulier BegrotingTrans

Bedankt voor de hulp
 

Bijlagen

  • budget.zip
    355,2 KB · Weergaven: 13
bij de private sub form_load staat
Code:
me.totaal = total

het formulier heeft geen veld totaal
in de code onder knop119 wordt het object transacties aangeroepen dat ook niet bestaat, en als ik het project probeer te compileren geeft de applicatie de ene foutmelding na de andere.
Je kan best de complete code eens reviseren op fouten en onbestaande/verkeerd gespelde namen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan