Koppeling tussen niet afhankelijke formulieren - urenregistratie vraag

Status
Niet open voor verdere reacties.

Rooooo8899

Nieuwe gebruiker
Lid geworden
19 jan 2017
Berichten
3
Beste,

Ik probeer een urenregistratie systeempje op te zetten voor het bijhouden en overzichtelijk krijgen van uren.

Ik heb op dit moment een tabel werknemers gekoppeld aan een tabel uren.
Nu kan ik per werknemer een dag selecteren en uren boeken op een bepaalde activiteit (op tabel niveau gaat dit wel).

Nu wil ik hier een formulier van maken met als idee dat diegene die de uren boekt:
1. werknemer selecteert
2. dag selecteert
3. regels toevoegt met uren geboekt op een bepaalde bewaking/ activiteit

Ik probeer dit te bereiken met een query, maar ik loop hier vast. Ik krijg het wel op een formulier gepresenteerd, maar ik kan dan geen records meer toevoegen zonder elke keer werknemer id in te typen en opnieuw de datum, deze heb ik al daarboven staan. Nu zijn de querie en de tabel niet verbonden en dus kan ik geen afhankelijkheid creëren.

Hebben jullie ideeën? Ik loop vast... wat doe ik verkeerd, denk ik te moeilijk?
Zie screenshots en database.

Krijg de database niet als database geupload even via dropbox:
Link naar database: https://www.dropbox.com/s/6ac7ioocgnbcxgw/Database Urenregistratie.accdb?dl=0
 

Bijlagen

  • Melding - probleem.png
    Melding - probleem.png
    158,8 KB · Weergaven: 84
Laatst bewerkt:
Ik snap je probleem niet; de tabel Uren is op de juiste manier gekoppeld aan de tabel Werknemers, dus dat gaat altijd goed, zou je zeggen. In het formulier Werknemers (ongelukkige naam, want je tabel heet ook al zo; probeer namen uniek te houden en in de naam een aanduiding voor het soort object op te nemen, dus iets als: tblWerknemers en frmWerknemers) heb je de tabel Uren opgenomen als subformulier, en dat werkt prima. Dus waarom met een query werken die niet werkt?
Ik heb in je tweede formulier jouw query er af gegooid, en vervangen door de tabel Uren, en het werkt weer prima.
 
Dank voor je snelle reactie. Wat betreft namen eens, was een snelle opzet om te proberen.

Wat ik graag zou willen is dat ik in het formulier werknemers kan selecteren op een dag en op een werknemer en daar dan uren invul. Dit als doel dat je altijd kan wijzigen of extra invoeren en een overzicht hebt. Dit probeerde ik met een querie maar dat lukt niet.

Voorbeeld ik selecteer werknemer 1 en dag 2 en zie nog niks ingevuld. Ik voer dan 2 records in en later op de dag kan ik dit weer doen en nog een records toevoegen voor werknemer 1 en dag 2.

Groet! Hoor graag van je
 
Maar dat kan toch altijd? Een urenregistratie is nooit meer dan een werknemerID, een dag en uren (en wellicht een Project) invullen. Dat zijn per definitie altijd zelfde handelingen. Ik zou het nooit op deze manier doen, maar altijd vanuit één formulier (Uren dus) waarin je met een keuzelijst een werknemer selecteert, een project kiest, de datum invult (kan automatisch) en het aantal uren. Dat lijkt mij veruit de handigste werkwijze.
Het werknemers formulier (met subformulier) gebruik je dan om de overzichten per werknemer te bekijken of eventueel mutaties op aan te brengen. Maar niet voor invoer dus.
 
Wellicht denk ik dan te moeilijk. Hoe krijg ik dit voor elkaar dan gewoon een keuzelijst aanvinken? En hoe automatisch datum invullen? Kan je me op weg helpen? Groet en dank.

Update 2:
- FRMheadwerknemers gemaakt, hier kan ik nu een werknemer selecteren en dingen aanpassen.
Ik krijg alleen niet werkend dat ik ook op een datum kan aanvinken. Wat doe ik fou?
- FRMinvoerenuren aangemaakt. Hier 2 keuzelijsten ingevoerd deze werken alleen niet
Dit naar aanleiding van jou opmerking om het vanuit één formulier (uren) te doen.

Ik wil zo graag gewoon een werknemer aanvinken en een datum en dat ik daaronder dan:
1. werknummer selecteer en uren invul.

https://www.dropbox.com/s/6ac7ioocgnbcxgw/Database Urenregistratie.accdb?dl=0
 
Laatst bewerkt:
Ik snap niet helemaal wat je in gedachte hebt met dat nieuwe formulier; daar zit een overbodige keuzelijst in, en de velden die je zou móeten zien, staan er niet op. Laat ik dus eerst proberen om de essentie van een formulier uit te leggen, wellicht dat je dat op andere ideeën brengt.

Een (afhankelijk) formulier koppel je aan een tabel, en gebruik je dan in eerste instantie om de data uit die tabel te muteren: invoeren, verwijderen, muteren dus. Dat betekent automatisch dat alle (verplichte sowieso) velden van die tabel op het formulier staan. Anders valt er weinig te muteren. Een formulier dat is gebaseerd op de tabel Werknemers, laat dus per record de hoofdgegevens van die werknemer zien. Dat betekent dus dat je voor die hoofdgegevens niets hebt aan een keuzelijst, zoals jij gemaakt hebt. Elke werknemer is immers één keer ingevoerd in de tabel, dus wat valt er dan op te zoeken? Niets. Hooguit kun je keuzelijsten gebruiken om een werknemer te koppelen aan een filiaal, als er daar meerdere van zijn, of een afdeling. Dat laatste zal wel voorkomen bij een (middel)groot bedrijf. We hebben het nu dus over een stamtabel.

Daarnaast heb je datatabellen. Daar is de tabel Uren een voorbeeld van. Je legt daarin per werknemer meerdere registraties vast. In dát formulier gebruik je dan een keuzelijst voor de werknemer, want hier ga je dus wél personen opzoeken. En uitgerekend in díe tabel heb je dus géén keuzelijst voor de werknemers gemaakt; hier laat je de naam handmatig invoeren. Dat leidt niet alleen tot fouten (verkeerd gespelde naam) maar ook tot gebruikersongemak, omdat ze veel meer moeten doen om de juiste werknemer ingevuld te krijgen.

Je vraag over automatisch vullen van de datum, kan op verschillende manieren worden ingevuld. Om te beginnen de makkelijkste: als je het uren formulier dagelijks invult, lijkt het logisch dat je altijd de huidige datum nodig hebt. Dan kun je volstaan met de functie Date() in te vullen in de eigenschap <Standaardwaarde> van het formulier of in de tabel. Dan krijg je dus automatisch de huidige datum als je een nieuw record toevoegt. Andere optie is, als je op andere datums invoert, om de laatst ingevoerde datum als standaardwaarde te definiëren. Daarmee heb je een flexibele manier om snel nieuwe records aan te maken, want die truc werkt ook voor andere velden. Je kunt dus, als je voor een specifieke werknemer een aantal uren records wilt aanmaken voor een bepaalde dag, alle vaste gegevens snel doorkopiëren en alleen de variabele gegevens invullen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan