Aanpassen datumnotatie

Status
Niet open voor verdere reacties.

Patjuh1988

Gebruiker
Lid geworden
2 mrt 2010
Berichten
28
Ik heb het volgende probleem en hoop hier het antwoord op mijn vraag te kunnen krijgen.

Ik heb in een tabel een datum notatie staan, dat eruit ziet als 04-10, dit betekent eigenlijk gewoon april 2010. Maar ik heb dit als tekstvak gedefinieerd, omdat ik niet zeker weet of de datum/tijd notatie dit herkent.

Maar nu wil ik deze data, sorteren op volgorde, alleen omdat het als tekstvak gedefinieerd is, krijg ik een volgende reeks. 04-10, 04-11, 05-10.. enz.

Alleen mijn bedoeling is natuurlijk niet om april 2011, eerder te laten zijn dan mei 2010.

Is het mogelijk om de datum/tijd zo aan te passen, dat het mm-yyyy wordt? En zo ja, hoe kan ik dit dan het beste doen.

Vriendelijke bedankt alvast
 
Hoi,

Ben zelf ook nog redelijk nieuw met access, maar aangezien ik het zelfde probleem heb gehad, heb ik het volgende gedaan:

01-04-2010 wordt middels deze functie
Code:
 Format([geboortedatum];"yyyyddmm")
wordt dan 20100401
Wellicht kun jij dit zo aanpassen naar wat je wilt. Werkt dit niet, dan is er nog een oplossing. Met de functies left/mid/right kun je zoeken naar tekstdelen (kijk maar in de help). het wordt dan zoiets als dit
Code:
Geboortedatum:= Left ([jouwveld]; aantal tekens)
Dit is dan alleen de left functie maar in de help staan legio voorbeelden.
vervolgens kun je met een bijwerkquery het jaar er aan toevoegen zodat je dit compleet hebt.

Groet,
Allard
 
Laatst bewerkt:
Ik had ook al bedacht dat het op die manier zou moeten, maar waar zou ik dit moeten invoeren?

Moet dat bij de InputMask van het gegevens type Datum/Tijd?

Ik heb ook nog eens te maken met een engelse versie van access. Dat is soms nogal eens frustrerend.

Dank je wel alvast!
 
Ik krijg het idee dat je een tekstveld gebruikt om de 'datum' als maand+jaar weer te geven. De vorige tip werkt wel als je een normale datum hebt als uitgangspunt, maar ik denk dus dat je dat niet hebt, vanwege je tekstveld. In het welk geval je dus een Dag ontbeert. Je kunt van een 'daatum' als 04-10 nooit een datumnotatie teruggoochelen, omdat je ingangswaarde geen datum is. Je zult dus, om goed te kunnen sorteren, van je tekst een echte datum moeten maken. Bijvoorbeeld met DateSerial(Right([Tekstveld];2);Left([tekstveld];2);1). Hiermee maak je van elke maand een datum op basis van de eerste dag.
Vervolgens kun je met Opmaak de datumnotatie terugbrengen tot wat je wilt zien: maand+jaar. En hier kun je wel op sorteren.
 
Ik krijg het idee dat je een tekstveld gebruikt om de 'datum' als maand+jaar weer te geven. De vorige tip werkt wel als je een normale datum hebt als uitgangspunt, maar ik denk dus dat je dat niet hebt, vanwege je tekstveld. In het welk geval je dus een Dag ontbeert. Je kunt van een 'daatum' als 04-10 nooit een datumnotatie teruggoochelen, omdat je ingangswaarde geen datum is. Je zult dus, om goed te kunnen sorteren, van je tekst een echte datum moeten maken. Bijvoorbeeld met DateSerial(Right([Tekstveld];2);Left([tekstveld];2);1). Hiermee maak je van elke maand een datum op basis van de eerste dag.
Vervolgens kun je met Opmaak de datumnotatie terugbrengen tot wat je wilt zien: maand+jaar. En hier kun je wel op sorteren.

Altijd baas boven baas :)
 
Dit is inderdaad wat ik wil inderdaad. Er hoeft geen specifieke dag bij.

Alleen ik begin me net te verdiepen in access, als je er de tijd voor hebt, zou je dit dan stap voor stap kunnen uitleggen?:o

Ik gebruiken een access versie 2003 in het engels, maar ik zal proberen het te begrijpen!

Dank
 
Dit is inderdaad wat ik wil inderdaad. Er hoeft geen specifieke dag bij.

Alleen ik begin me net te verdiepen in access, als je er de tijd voor hebt, zou je dit dan stap voor stap kunnen uitleggen?:o

Ik gebruiken een access versie 2003 in het engels, maar ik zal proberen het te begrijpen!

Dank

Wat in ieder geval werkt is de website Datapigtechnologies.com daar heb ik afgelopen weekend weer genoeg stof vandaan gehaald. Voor wat betreft het gebruik van de code van Octafish moet je dit gaan proberen in een Query. Doe eerst maar een selectquery (standaard bij openen).

Vervolgens selecteer je het veld dat je wilt manipuleren bijvoorbeeld datum. In de volgende kolom zet je als titel datumnieuw: (de puntjes erachter betekent dat je een nieuwe kolom definieert). Achter datumnieuw: DateSerial(Right([Datum];2);Left([datum];2);1)
Probeer dat eerst maar eens. En voer de query maar eens uit.

Kort maar krachtig en wees niet te benauwd om te proberen. En als altijd....BACK UPS maken !!!!!
 
Het is inderdaad gelukt zoals octafish het zei, ik krijg nu een datum weergave, die er dan als volgt uitziet 01-04-2010 of 01-06-2010.

Als jullie me nu nog kunnen vertellen hoe ik dan die eerste dag van elke maand kan weghalen? Dan is mijn probleem in iedergeval opgelost.

Heel erg bedankt in ieder geval
 
Het is inderdaad gelukt zoals octafish het zei, ik krijg nu een datum weergave, die er dan als volgt uitziet 01-04-2010 of 01-06-2010.

Als jullie me nu nog kunnen vertellen hoe ik dan die eerste dag van elke maand kan weghalen? Dan is mijn probleem in iedergeval opgelost.

Heel erg bedankt in ieder geval

Als je de functie die ik eerder noemde hier in deze topic (kleine hint Format) en dan hetzelfde trucje uithaald in de query (waarin je ook je eigen aanpassing hebt gedaan) kijk dan eens wat er gebeurt. Eigenlijk zou ik niet zoveel moeten vertellen, maar ik ken het gevoel van niet weten :)
 
Ik krijg het idee dat je een tekstveld gebruikt om de 'datum' als maand+jaar weer te geven. De vorige tip werkt wel als je een normale datum hebt als uitgangspunt, maar ik denk dus dat je dat niet hebt, vanwege je tekstveld. In het welk geval je dus een Dag ontbeert. Je kunt van een 'daatum' als 04-10 nooit een datumnotatie teruggoochelen, omdat je ingangswaarde geen datum is. Je zult dus, om goed te kunnen sorteren, van je tekst een echte datum moeten maken. Bijvoorbeeld met DateSerial(Right([Tekstveld];2);Left([tekstveld];2);1). Hiermee maak je van elke maand een datum op basis van de eerste dag.
Vervolgens kun je met Opmaak de datumnotatie terugbrengen tot wat je wilt zien: maand+jaar. En hier kun je wel op sorteren.

OctaFish, wat je hier verteld over DateSerial(Right([Tekstveld];2);Left([tekstveld];2);1), dat werkt inderdaad goed, alleen hoe je de opmaak kunt veranderen is mij nog steeds niet helemaal duidelijk, zou je hier nog wat over kunnen vertellen.

Dank
 
Dan krijg je bijvoorbeeld zoiets:
Format(DateSerial(Right([Tekstveld];2);Left([tekstveld];2);1);"mm-yyyy")
Je zet dus het Format commando om de datumfunctie, zodat de berekende datum op je goede manier wordt opgemaakt. Overigens heb je dan wel weer hetzelfde probleem met sorteren :(
Om dat op te lossen, moet je de DateSerial functie dus nog steeds apart in de query gebruiken, op dat veld ook sorteren (dus niet op het resultaatveld) en het veld niet weergeven. Je gebruikt het DateSerial veld dus alleen voor de sortering.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan