Zoeken in tabel tussen twee data

Status
Niet open voor verdere reacties.

Pcrrules

Gebruiker
Lid geworden
2 sep 2004
Berichten
10
hallo mensen,

Ik heb een vraag. Ik heb het stuk af waarmee ik gegevens in de database moet plaatsen. werkt allemaal perfect. Nu moet het er nog uit.

Ik moet d.m.v. een formulier in de database zoeken met 3 variabele: werknemernr, begin datum eind datum.

Deze variabelen moeten ingevuld worden door middel van tekstvelden. Dan moet er in een formulier de gegevens weer gegeven worden.

wat heb ik gedaan:
1.
In access zit een functie om sub formulieren te maken. Wat ik dan doe is een formulier maken waar ik alle velden die ik wil laten zien erin zet. en een hoofdformulier. In dat hoofdformulier staan de tekstvelden waar je de waardes in moet zetten waar op gezocht wordt. In dat hoofdformulier zet ik een subformulier, er kan dan gekoppeld worden.

In het hoofdformulier kan ik het werknemernr aangeven en d datum. In het subformulier verschijnt dan het record die erbij hoort.

Ik wil alleen tussen 2 data alle records weergeven en dat gaat niet via deze manier.

2
ik heb ook een query gemaakt met variabelen , wanneer ik deze uitvoer dan vraagt hij om de waardes. maar ik wil niet dat de gebruiker zo de waardes in meot voeren. Dit moet via een formulier met tekstvelden.

Als je de database wil zien, hier is de link: http://home.aim.hsbrabant.nl/s136596/pooh/files/urenregistratie.mdb (+/- 750kb)

Als je de database bekijkt zie je een formulier "frm_urenwijzigen_hoofd". Dit is wat ik wil alleen dan alle records tussen twee data (als gegevensblad uiteraard ipv kolomvorm)


Wat ik dus wil is:
formulier 3 tekstvelden (werknemernr. datum1, datum2) alles wat tussen de twee data zit moet weergegeven worden.

Dit is eigenlijk wat ik wil:

probleem2.jpg

(zoals testhoofd2 in de database)

maar met zo'n sub formulier kan ik geen filter instellen voor records tussen twee data. Nu kijkt hij alleen naar 1 datum.

Ik weet niet hoe het moet, ik zit google al een tijd af te struinen en zo moeilijk moet het niet zijn.

alvast bedankt voor jullie hulp.
 
Je koppelt dubbel op

Je hebt in de querie onder je subformulier een verwijzing naar de 3 velden zitten EN je hebt het hoofd- en subformulier gekoppeld op 2 velden. Haal de koppeling naar je subform er uit. Verder moet je relatie referentieel leggen van werknemer naar naam werknemer ( er ligt nu wel een relatie maar die is niet referentieel). Als het goed is doet het subform het dan al. Dan moet je nog zorgen dat er een refresh plaatsvindt op je subform als je keuze werknemer wijzigt. Hetzelfde voor de datum velden. Zet een gebeurtenisprocedure in deze velden na bijwerken: Screen.ActiveForm.Refresh.
Suc6
 
Een alternatief

Wat je ook kunt doen is een doorlopend formulier maken met daarin de naam van de werknemer en daar achter alle velden die nu in je subformulier staan (in de detailsectie dus). In de koptekst van dit formulier neem je de drie selectievelden op. Is het formulier naar je zin sla hem op als bv Formulier A. Formulier A toont nu dus alle records van alle werknemers. Kopieer nu formulier A en noem dit Formulier B. Maak nu een querie bv Qkeuze met daarin alle velden van je formulier. Bij criteria van datum en werknemer de verwijzing naar de 3 velden in Formulier A ( zoals je dat nu bij je subformulier hebt gedaan).
Maak nu op formulier A een knop in de koptekst die na invullen 3 velden Formulier B gaat openen mbv Qkeuze. Vermeldt in de knop bij na klikken o.a.

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Formulier B"
DoCmd.OpenForm stDocName, ,"Qkeuze" , stLinkCriteria

Ik denk zelfs dat je in de voettekst van Formulier B velden onder iedere kolom kunt opnemen die het totaal van de records weergeeft (maar dat mag je zelf uithobbyen). Suc6
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan