getal naar datum omzetten

Status
Niet open voor verdere reacties.

leek01

Gebruiker
Lid geworden
3 okt 2017
Berichten
17
Hobbyisten,

Ik heb een formulier met een veld datum. Echter, ik wil dat de gebruiker de datum ingeeft op deze manier vb. voor 3 mei 2019 wordt de ingave 030519.
Het is de bedoeling dat deze gegevens 030519 middels vba code worden omgezet naar 03-05-2019. Een echte datum dus.

Ik heb alles afgezocht maar ik krijg het niet gevonden hoe ik dit voor elkaar zou kunnen krijgen.

Kan iemand aub mij hiermee helpen.

simpel gezegd: in een veld geef ik in 030519 en na ingave moet dit omgezet worden naar 03-05-2019.

Ik ben nl. bezig met een formulier waarin vaak en veel datums zullen moeten worden ingevoerd. Om deze handeling te versnellen wil ik dat de datum ingave
zonder tekens ervoor gebeurt en dat Access deze weer automatisch omzet naar de juiste format.

Wie zou mij hiermee willen helpen aub.
 
Als we even voorbij gaan aan het feit dat alleen hobbyisten antwoord mogen geven, wil ik toch een poging wagen :).

Echter, ik wil dat de gebruiker de datum ingeeft op deze manier vb. voor 3 mei 2019 wordt de ingave 030519.
Ik vind je vraag eigenlijk nogal nutteloos, en betuttelend. Want waarom wil je de gebruiker(s) in een bepaalde werkwijze duwen? Ik doe dat nooit, en heb er ook nooit een vraag voor gekregen. Bovendien dwing jij de gebruikers om de meest omslachtige manier te gebruiken, dus bepaald niet gebruiksvriendelijk.

Een datumveld in een tabel (en middels een formulier) kun je op een aantal manieren invullen. De een typt een datum volledig, met voorloopnullen, een ander (heel erg) verkort, en een derde gebruikt de DatePicker die bij een datumveld te zien is. Jouw opzet dwingt gebruikers in een stramien dat in 9 van de 10 gevallen meer werk voor de gebruiker oplevert. Gebruiksvriendelijk? Mwah...

Neem de datum die jij als voorbeeld gebruikt: een gebruiker bij jou moet daarvoor 6 cijfers intypen. Bij mij volstaan 3 tekens. Mag jij raden wie sneller klaar is :).

Ok, dan de feitelijke vraag: waarom wil je het ook nog eens met VBA doen? Wat jíj wilt kan makkelijk via een invoermasker. Dan werk je nog steeds met officiële datumvelden, hoeft er dus niks met de invoer te gebeuren en kan het ook niet fout gaan. Is overigens nog steeds gebruiksonvriendelijk, want tegen de 6 tekens die jij laat intypen, is een gebruiker bij mij klaar met het invoeren van “3-5”. Dan heb je namelijk de datum 3 mei 2019 ingevoerd. En voor het invoeren van de huidige datum volstaan twee toetsen.

Kortom, mijn advies: laat gebruikers vrij in het invoeren van datums, en vertrouw er op dat een gebruiker die de “0” op zijn/haar toetsenbord kan vinden, óók in staat is om de “-“ te zien, die er pal naast ligt. Het maakt voor een gebruiker echt niet uit of hij/zij 305 moet intypen, of 3-5. En dan heb ik het nog niet eens over de volledige string die moet worden ingevoerd in jouw geval, maar alleen over de cijfers om dag en maand in te voeren.

Bedenk hierbij: een datum is een getal, dat je middels opmaak een bepaald uiterlijk kunt geven. Die opmaak heeft echter niets te maken met hoe en wat je invoert. Het afdwingen van een bepaalde werkwijze middels een invoermasker doet hier ook niets aan af: het blijft nog steeds hetzelfde getal met dezelfde opmaak. Hou het simpel, en laat de gebruikers zelf bepalen hoe ze het willen doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan