Zoekfunctie in formulier

Status
Niet open voor verdere reacties.

Revolutionary

Gebruiker
Lid geworden
1 apr 2009
Berichten
183
Goededag allemaal,

Ik ben nieuw hier op helpmij.nl en ik heb een vraag over access. Ik ben bezig met het aanpassen van een database, deze database is door mijn voorganger ontwikkeld en ik moet er een aantal aanpassingen in maken.

Het gaat om het volgende:
De personen die gebruik maken van de database vullen alles via formulieren in. Om de resultaten te kunnen monitoren moet er in een formulier een zoekfunctie worden ingebouwd.

We willen kunnen opzoeken wat de resultaten waren binnen een bepaalde periode bij een bepaalde persoon.

Bijvoorbeeld je vult in het formulier in:
Begindatum: 1/1/2009
Einddatum: 31/3/2009
Werknemer: Bram
En vervolgens druk je op zoek, dan wil ik graag dat er een rapport komt waarin de resultaten die behaalt zijn tussen 1/1 en 31/3 van Bram staan.

Kunnen jullie mij vertellen wat ik bij de criteria in de query moet zetten en welke button ik moet aanmaken in het formulier waardoor de zoekfuntie correct wordt uitgevoerd. Ik heb al uren lopen proberen en op internet gezocht naar een handige handleiding, maar tevergeefs.

Wegens vertrouwelijke informatie in de database kan ik hier helaas geen kopie zetten.

Alvast bedankt voor jullie hulp!

Met vriendelijke groet,

Tim
 
Via de zoekfunctie zag ik dat andere ook tegen ongeveer hetzelfde probleem aanlopen. Ik heb gebruik gemaakt van dat filmpje van datapig, maar ik loop nu tegen het volgende probleem aan: ik heb een button gemaakt waarmee het rapport geopend zou moeten worden, maar in plaats van het rapport te openen, wordt het direct uitgeprint.

ik heb dit ingevoerd: DoCmd.OpenReport "rptmain", acViewNormal
(Het rapport heet ook daadwerkelijk rptmain)

Ik hoop dat iemand mij kan helpen.
Bij voorbaat dank!

Mvg,
Tim
 
Je moet acViewNormal vervangen door AcPreview

Michel
 
Hartelijk dank Michel!!! Ik ga het zo gelijk uit proberen.

Excuses voor mijn late reactie, ik ben een paar dagen weggeweest...

Mvg,
Tim
 
Oke, het rapport openen werkt.. echter nu komen er parameters naar voren als ik op de zoekknop druk en moet ik de gegevens waarnaar ik zoek nog een keer invullen (als ik die leeg laat blijft mijn rapport ook leeg, vul ik ze in dan gaat het wel allemaal goed)

Aangezien ik mijn database hier niet kan plaatsen noem ik wat gegevens waar jullie hopelijk wat aan hebben:
Naam tabel: tblResultaten
Naam query: qryresultbehandelaar
Naam formulier: frmresultbehandelaar
Naam rapport: rptresultbehandelaar

Bij query's is het volgende ingevuld:
Datum inkomend:
Between [Forms]![frmresultbehandelaar].[qbegin1] And [Forms]![frmbehandelaar].[qeind1]

Behandelaar:
Like [Forms]![frmresultbehandelaar1].[qnaam1] & "*"

Bij gebeurtenis opbouwen staat het volgende:
Private Sub Knop7_Click()
DoCmd.OpenReport "rptresultbehandelaar", acViewPreview
DoCmd.Close acForm, "frmresultbehandelaar"

End Sub

Ik hoop dat iemand weer kan helpen.
Alvast heel erg bedankt!

Mvg,
Tim
 
Als ik het zo zie, vermoed ik dat je het rapport hebt opgebouwd op basis van de query qryresultbehandelaar, en het formulier ook. Nu hebben rapport en formulier niet zo bijster veel met elkaar te maken; ze krijgen in dit geval allebei hun gegevens uit de query, en die wil nu eenmaal die gegevens uit de vraagvelden, als hij wordt opgestart.

Ik zou dus in jouw geval het rapport baseren op een query zonder vraagvelden, en het rapport openen met een filter, dat is gebaseerd op de info die je uit het formulier haalt.

Ik zou zelf ook de filtering van de query op het formulier houden, en pas toevoegen aan de query als je hem nodig hebt. Zo is je basisquery veel flexibeler in het gebruik,en wordt je niet om de haverklap met die vraagvelden geconfronteerd.

Maar ik kan de structuur ook verkeerd inschatten op dit moment, omdat je niet hebt aangegeven waar het rapport op is gebaseerd...

Michel
 
Hoi Michel,

Ik ben totaal niet bekend met het toepassen van een filter, is er op internet ergens een filmpje te vinden hoe dat het beste werkt? (net zoals dat filmpje van datapig over het maken van een zoekformulier). Kan ik dan ook zoekopdrachten geven via een formulier?

Als jij denkt dat dat makkelijker is, dan ga ik daar wel even mee proberen.

Nogmaals bedankt:thumb:

Mvg,
Tim
 
Access heeft vreemdgenoeg ook geen wizard die je er netjes bij helpt, een een filmpje weet ik zo gauw ook niet. Maar er is gelukkig een zijweg, die je kunt gebruiken:
de techniek om een rapport te openen is namelijk in beginsel hetzelfde als de techniek om een formulier te openen.
En daar zit een wizard bij die wèl doet wat jij wilt! Dus daar kun je eens mee stoeien om te zien hoe je een formulier opent op basis van een (keuze)veld.

De code waar het om gaat ziet er als volgt uit:

Code:
    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frmGesprek"
    stLinkCriteria = "[FormulierNr]=" & Me![comFormulier]
    DoCmd.[B]OpenForm[/B] stDocName, , , stLinkCriteria

Tis maar een voorbeeldje, dat je uiteraard makkelijk kunt aanpassen.
Voor je rapport moet je OpenForm uiteraard vervangen door OpenReport, met de juiste optie.

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan