Tijd controleren

  • Onderwerp starter Onderwerp starter Neuz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Neuz

Gebruiker
Lid geworden
21 aug 2012
Berichten
147
Hey,

Ik ben al enige tijd aan het zoeken op internet naar een mogelijkheid om een tijdwaarde
welke in een textbox staat te laten controleren. Ik wil dus bijvoorbeeld kijken of de waarde
welke is ingevuld door de gebruiker tussen 2 vooraf ingestelde tijdswaarde zit.

Bijvoorbeeld:
Gebruiker vult 06:30 in
Controle 1 >= 06:00 (groter of gelijk aan 06:00)
Controle 2 < 07:00 (kleiner dan 07:00)

Ik gebruik hiervoor de volgende code:
Code:
If TimeValue(Me.TxtBegin) >= "06:00" And TimeValue(Me.TxtBegin) < "07:00" Then
      Me.TxtNMa20.Value = "Vroeg"
End If

Hopelijk kunnen jullie me met dit probleem helpen.

Alvast bedankt.

Groet Neuz
 
Maak een combobox of listbox met alleen maar geldige waarden. De gebruiker hoeft dan alleen maar te kiezen.
 
snb,

Bedankt voor je snelle reactie. Ik ben bezig om een document te maken waarin inklok tijden
ingevoerd moeten worden. Aan de hand van deze tijden wordt er onregelmatigheids toeslag
berekend.

Het is vanwege deze wisselende inklok tijden dus niet mogelijk om de begintijden vast te zetten
in een combobox of listbox. Inien ik dit wel zou doen zou ik alle minuten van de dag moeten invoeren.

Hopelijk is hier nog een andere optie voor.

Alvast bedankt voor het meedenken weer.

Groet Neuz
 
Probeer deze eens:
Code:
If IsDate(Me.TxtBegin) Then
    If TimeValue(Me.TxtBegin) * 24 >= 6 And TimeValue(Me.TxtBegin) * 24 < 7 Then
          Me.TxtNMa20.Value = "Vroeg"
    End If
Else
    MsgBox "Geen geldige tijd ingegeven."
End If
 
Of
Code:
If TimeValue(Me.TxtBegin) >= TimeSerial(6, 0, 0) And TimeValue(Me.TxtBegin) < TimeSerial(7, 0, 0) Then
      Me.TxtNMa20.Value = "Vroeg"
End If
 
Of:
Code:
If IsDate(Me.TxtBegin) Then
    Select Case TimeValue(Me.TxtBegin) * 24
        Case Is >= 23: Me.TxtNMa20.Value = ">=23"
        Case Is >= 7: Me.TxtNMa20.Value = ">=7"
        Case Is >= 6: Me.TxtNMa20.Value = "Vroeg"
        Case Is >= 1: Me.TxtNMa20.Value = ">=1"
    End Select
Else
    MsgBox "Geen geldige tijd ingegeven."
End If

Waarmee je dan alle uren van de dag hebt als je bij de Select Case 23 t/m 1 invult.
De volgorde van hoog naar laag is daarbij van belang.
 
Laatst bewerkt:
Edmoor,

Dank je wel voor de snelle reactie.
Dit was de oplossing.

Probeer deze eens:
Code:
If IsDate(Me.TxtBegin) Then
    If TimeValue(Me.TxtBegin) * 24 >= 6 And TimeValue(Me.TxtBegin) * 24 < 7 Then
          Me.TxtNMa20.Value = "Vroeg"
    End If
Else
    MsgBox "Geen geldige tijd ingegeven."
End If

Groet Neuz
 
Graag gedaan. Ook naar #6 gekeken voor meer dagdelen?
 
Wordt bij jullie de toeslag per minuut berekend ?
 
Altijd fijn als er maar één helper bedankt wordt; dat stimuleert anderen om ook een bijdrage te leveren....
 
@OctaFish
Altijd fijn als er maar één helper bedankt wordt; dat stimuleert anderen om ook een bijdrage te leveren....
Mijn excuus maar ik heb jouw oplossing nog niet getest. Maar uiteraard ook jij bedankt voor je bijdrage.

@snb
Wordt bij jullie de toeslag per minuut berekend ?
Dit wordt bij ons inderdaad op minuut basis berekend.

@edmoor
Of:
Code:
If IsDate(Me.TxtBegin) Then
    Select Case TimeValue(Me.TxtBegin) * 24
        Case Is >= 23: Me.TxtNMa20.Value = ">=23"
        Case Is >= 7: Me.TxtNMa20.Value = ">=7"
        Case Is >= 6: Me.TxtNMa20.Value = "Vroeg"
        Case Is >= 1: Me.TxtNMa20.Value = ">=1"
    End Select
Else
    MsgBox "Geen geldige tijd ingegeven."
End If

Waarmee je dan alle uren van de dag hebt als je bij de Select Case 23 t/m 1 invult.
De volgorde van hoog naar laag is daarbij van belang.
Zou je hier iets meer info over kunnen geven begrijp namelijk niet helemaal hoe je dit bedoeld maar zou
me wel erg kunnen helpen in een ander probleem waar ik tegenaan loop.

Iedereen bedankt in ieder geval.

Groet Neuz
 
Ik denk dat je dan beter even dat probleem kan uitleggen.
 
@edmoor
Ik denk dat je dan beter even dat probleem kan uitleggen.

Bij ons wordt de onregelmatigheidstoeslag per minuut berekend. Ik ben hiervoor een excel document
aan het maken waarin ik de tijden door de gebruiker in wil laten voeren.

De toeslag is als volgt verdeeld
Ma t/m vr
00:00 - 06:00 uur 40% toeslag
06:00 - 08:00 uur 20% toeslag (mits dienst voor 07:00 uur begint)
18:00 - 22:00 uur 20% toeslag (mits dienst na 20:00 uur eindigd)
22:00 - 24:00 uur 40% toeslag

Za t/m Zo
00:00 - 24:00 uur 70% toeslag

Feestdag
00:00 - 24:00 uur 100% toeslag

Jouw oplossing zou ik graag voor deze berekening willen gebruiken. Nadat
de gebruiker zijn begintijd, eindtijd en pauze heeft ingevuld moet het vba
veld automatisch berekend worden. Ik heb velden gemaakt voor ma t/m do
vr, za t/m zo en feestdagen.

Ik heb voor vrijdag aparte velden vanwege de berekening van de nachtdienst
van vrijdag op zaterdag.

Ik snap alleen niet hoe ik dit dan moet vertalen in jouw oplossing.

Hopelijk is mijn uitleg voldoende anders hoor ik het graag van je.

Groet Neuz
 
Al dat quoten is niet nodig en blijkbaar mag alleen edmoor jouw vragen beantwoorden? Begin eens met het plaatsen van jouw bestand.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan