Nieuw formulier op een nieuwe dag

Status
Niet open voor verdere reacties.

frednuus

Gebruiker
Lid geworden
21 apr 2013
Berichten
47
Hallo,

Ik heb een klein probleempje waar ik zelf niet uitkom en dat is het volgende.

Ik heb een tabel gemaakt waarin datum, bezoekersnaam, tijd aanwezig en tijd vertrek heb staan.
Vervolgens heb ik een Formulier gemaakt waarop dit netjes is verdeeld. Bovenin het formulier heb ik de datum ingesteld als date().
De bezoekers registreren gaat vervolgens goed, hij zet het netjes in de tabel.
Maar nu wil ik het graag zo hebben dat bij het veranderen van de dag, dus nieuwe datum, het formulier leeg. De datum past hij dus wel aan, maar het bezoek van de dag ervoor blijft staan.
Ik moet nu iedere keer de records verwijderen, waardoor er dus ook niets in het tabel blijft staan.

Hoe kan ik dit eenvoudig voor elkaar krijgen.

Iedere suggestie is van harte welkom.
Alvast bedankt voor de evt. reactie('s)
 
Laatst bewerkt:
Ik moet nu iedere keer de records verwijderen, waardoor er dus ook niets in het tabel blijft staan.
De bedoeling van een database is nu juist dat je gegevens opslaat en ze niet weggooit. Weggooien is nogal radicaal in mijn ogen, want dan heb je helemaal niks meer. Het zou kunnen dat je alleen maar geïnteresseerd bent in de data voor één (de huidige) dag, bijvoorbeeld voor bezoekersregistratie, waarbij je wilt weten wie er op die dag binnenkomen, en wie er dus ook die dag weer uit gaan. Dan is het niet relevant om te weten wie er gisteren zijn geweest, hoewel dat wel weer interessant is als je op maandag van 87 personen de binnenkomst registreert, en er maar 84 uitboeken. Dan hoop je toch dat je kunt zien in de db wie er overnacht hebben!

En daarmee geef ik gelijk aan waarom je de tabel dus niet leeg moet maken: je bent dan alle historie kwijt. Zonder data zal de manager ook nooit weten op welke dag, en op welk tijdstip de meeste mensen binnenkomen. Om maar eens wat te noemen. Kortom: geen data = geen informatie.

Wat je kunt doen, is je formulier in <Gegevensinvoer>=Ja zetten. Dan begint hij altijd met een leeg record. En aangezien je dat doet bij het oepenen van de db, heb je wel zo ongeveer het effect dat je wilt. Al kun je ook bij het openen van het formulier een verwijderquery draaien die de tabel leeg maakt, dan hoef je dat niet met de hand te doen.
 
Hallo

Dank je wel voor de snelle reactie. Ik heb het aangepast, en nu wordt het opgeslagen. Maar als ik het formulier nu sluit, en dan weer open zijn de gegevens uit het doorlopendformulier verdwenen. Zet ik gegevens invoer weer op nee, staan ze er weer.
 
Is logisch; de instelling zorgt ervoor dat je altijd met een leeg formulier begint. Wil je wel de records van die dag zien, dan mag je het formulier dus niet sluiten. Maar je kunt het ook nog anders oplossen, door een standaard filtering te maken (bij een normaal werkend formulier). Dat filter zorgt er dan voor dat je alleen de records van de actuele dag ziet. Dus als je morgenochtend begint, staat er nog niks. Dan kun je dagrecords invullen en afhandelen, en de volgende dag zie je ze niet meer. In die situatie kun je het formulier wél sluiten en weer openen. Want de dag (dus het filter) is niet veranderd.
 
Hallo,

Ik heb wat gestoeid met de filter, echter krijg het niet voor elkaar om de gegevens van de dag naar voren te krijgen. De gegevens staan netjes in de tabel. Misschien dat ik helemaal een verkeerde instelling/benaming voor de filter gebruik.
 
Zonder het filter is natuurlijk niet te zeggen wat je verkeerd doet. Dus bij gebrek aan beter een eigen voorbeeld op het datumveld [Van]. Dan ziet het filter er zo uit:
Code:
[Van]=Date()
 
Dit heb/had ik er ook staan maar dan [Datum]=Date(). Het formulier blijft leeg. Onderaan het formulier is de gefilterd melden oranje. Klik ik hier op dan komen de gegevens wel naar voren (er staan dan "niet gefilterd"in oranje. Kan dit dan ook automatisch zodat je niet iedere keer daarop moet klikken ?
 
Heb je de optie <filteren bij laden> wel op <Ja> gezet? Anders doet-ie het namelijk nog steeds niet bij het openen.
 
Ja, Die staat op ja.

Alles staat op ja, behalve recordvergrendeling.
 
Bedoel je daarmee dat <Gegevensinvoer> ook op <Ja> staat? Want die moet nu op <Nee>. Anders heb je inderdaad geen records.
 
Die staat op nu op NEE, maar moet nog steeds op het knopje gefilterd drukken onderaan het formulier om de gegevens tevoorschijn te toveren
 
Zou niet hoeven. In mijn voorbeeldjes werkt het prima. Ik zou zeggen: kom maar op met je db :)
 
Hallo,

Ik heb nog een beetje gestoeid, en het werkt. Maarrrrr.. Als ik tijdens het draaien van de database de PC Datum verander, gebeurt er dus niets. De database moet gesloten worden. Na het opnieuw starten begint het met een leeg formulier op een "nieuwe" dag.
Nu nog even uitvissen hoe ik het voor elkaar krijgen dat hij gerefresht wordt zonder de database te hoeven sluiten. Of de mogelijk bekijken om het programma 's avonds om bijv. 23.00 uur automatisch te laten sluiten.
 
Een formulier houdt zijn gegevens statisch vast. Als je het formulier opent, wordt de datum dus eenmalig ingelezen. Verander je daarna de datum, dan doet het formulier niks met de aangepaste datum. Wil je dat wel, dus je wilt kunnen filteren op verschillende datums, dan moet je een actie maken op het formulier. Jammer genoeg werkt Access hierin een beetje vervelend, want hij registreert niet dat de datum verandert als je dat doet met de DatePicker. Dus zelfs al zou je een Requery doen op de correcte gebeurtenis (<Na bijwerken> of <Bij klikken>) dan nog gebeurt er niks.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan