Hoe kan ik de tijd registreren in Access?

Status
Niet open voor verdere reacties.
Weet jij hoe ik in uit de code krijg want ik krijg het niet weg zonder foutmelding.
 
Dan heb je waarschijnlijk het veld [Actie] niet in je tabel staan.
Code:
    DoCmd.RunSQL "INSERT INTO Inschrijflijst(Tijd, Naam) VALUES (NOW(),'" & Me.Inschrijven & "')"
 
Zou je misschien kunnen helpen met deze code naar mijn database om te schrijven dat hij 8 breed tijd kan neerzetten:

Dim Dat As String
DoCmd.SetWarnings False
If IsNull(LastStartTime) Then
DoCmd.RunSQL "INSERT INTO Klokkingen (WerknemerID, Begintijd) VALUES (" & WerknemerID & ", " & Replace(CDbl(Begintijd), ",", ".") & ")"
Else
DoCmd.RunSQL "UPDATE Klokkingen SET Eindtijd=" & Replace(CDbl(Eindtijd), ",", ".") & " WHERE ID=" & LastRegistrationID
End If
UpdateDefaults
 
Ik snap niet wat je met '8 breed' bedoelt.
 
Je kan met een lus de record 8 keer toevoegen, maar dat lijkt mij nogal zinloos. Je moet natuurlijk alleen díe records toevoegen die je nodig hebt. Dus als iemand 2 keer inlogt, dan doe je 2 records, en als iemand 8 keer inlogt dan 8.
 
maar dat kan per dag verschillen hoevaak iemand in en uit gaat.
 
Laatst bewerkt:
eigenlijk als er 1 keer op de naam word geklikt komt er een in tijd achter en weer een keer dan komt er een uit tijd achter en zo verder

zo zou het er in het tabel uit moeten zien

Naamloos.png
 
Laatst bewerkt:
Nee, zo moet je tabel er niet uitzien! Je bent nog steeds bezig met een niet-genormaliseerde tabel, en ik blijf er dus op hameren dat je dat zo niet moet doen. Gebruik een aparte tabel voor de kloktijden (met Datum, Begintijd en Eindtijd), koppel die aan Werknemers en vul de tabel op basis van inklokken. Zoals ik al eerder heb uitgelegd. Je zit nu op een héél slecht spoor...
 
Ik heb de tabellen nu gekoppeld
hoe nu verder?

Ik zou willen dat hij zoveel in en uitschrijftijden ingeeft er nodig zijn alleen dan wel per gebruiker, per dag
 
Laatst bewerkt:
Ik snap nog steeds je werkwijze niet. Hoe kan je op voorhand al weten hoe laat mensen in- of uitklokken? Dat regel je toch als de situatie zich voordoet? Oftewel: record voor record? Je kunt hooguit een groep tegelijk inboeken, al moet je dan nog de mogelijkheid hebben om meerdere personen te selecteren, maar om gelijk de Eindtijd in te vullen lijkt mij onzinnig, ze zijn net binnen.... Laat staan op dát moment al te weten wanneer ze na het uitklokken weer opnieuw inklokken! Wat heeft zo'n systeem dan nog voor zin, als de data tóch nooit gaat kloppen (tenzij je in de toekomst kan kijken, maar dan zou ik wat anders gaan doen als ik jou was :) )?
 
Het is de bedoeling dat iemand geregistreerd word als hij in of uit gaat en hij mag 8 keer in en uit. en daarnaast moet ik het in een overzichtelijke lijst kunnen printen.
 
En dat kan prima op de door mij voorgestelde manier. Maar je gaat dus niet op voorhand al 8 records aanmaken. Dat is net zo onzinnig als in je tabel 8 velden maken voor Begintijd, en 8 voor Eindtijd. Alhoewel dat laatste nog wel een stukkie onzinniger is :). Op je formulier kun je prima bijhouden hoe vaak iemand al is ingelogd, en uitgelogd. En op basis daarvan bepaal je dus of een nieuwe registratie wel of niet mag.
 
Ze mogen onbeperkt in/uit maar hoe kan ik dat realiseren als je alles die datum achter elkaar uit wilt printen
 
Met een kruistabel. En daar een rapport van maken. Hoe dat er uit moet zien, weet je alleen zelf :). Ik zou met tijdreeksen werken, want met exacte tijden schiet je niet veel op. Ik neem tenminste niet aan dat je voor 10:32 en 10:35 aparte kolommen wilt. Ik zou dus kolommen maken voor 8:00 - 9:00, 9:00 - 10:00 etc.
 
Dan heb je een probleem. Want elke aparte waarde krijgt een eigen veld. En het lijkt me dat je dát niet wilt. Overigens is veruit de makkelijkste oplossing om de waarden gewoon ónder elkaar te zetten, want dat gaat perfect in een rapport.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan