20181105 -> 2018-11-05

Status
Niet open voor verdere reacties.

BartKoop

Gebruiker
Lid geworden
7 nov 2018
Berichten
13
Hallo Iedereen,

Ik heb een vraagje. Momenteel heb ik een Access Database die ik waardoor ik aan de hand van een import data binnen krijg. Deze data moet aangepast worden en daarna wordt de data weer geëxporteerd. Eén van mijn problemen is dat datums geïmporteerd worden als: 20181105 in het veld [requestedDeliveryDate] en geëxporteerd moeten worden als 2018-11-05 als een datum. Nu is dit mij in zoverre gelukt dat ik een extra kolom heb gemaakt met de volgende formule:

DateSerial(Mid([requestedDeliveryDate];1;4);Mid([requestedDeliveryDate];5;2);Mid([requestedDeliveryDate];7;2))

Dit werkt, zolang het veld gevuld is. Echter, [requestedDeliveryDate] niet gevuld is, krijg ik de melding "#type!". En door deze melding werkt de export niet meer.
Hoor graag hoe ik dit op kan lossen. Mochten jullie een idee hebben om dit compleet anders op te lossen hoor ik het natuurlijk ook graag.

Groeten,

Bart
 
Nou, compleet anders is onmogelijk omdat je niet met een herkenbare datum aan komt zetten: jouw 'datum' is voor welk programma dan ook een getal. En een datum is ook niet meer dan dat: een getal, maar dan opgemaakt als datum. Dus om het ene willekeurige getal als getal te zien, en het andere als datum, dat gaat niet lukken. Je zult dus altijd een splitsfunctie moeten gebruiken om de datum te genereren. Dat kan overigens slimmer, al is jouw oplossing niet fout. En je moet natuurlijk het lege veld nog oplossen. Dan krijg je dus dit:
PHP:
IIf(requestedDeliveryDate Is Null;Null;DateSerial(Left(requestedDeliveryDate;4);Mid(requestedDeliveryDate;5;2);Right(requestedDeliveryDate;2)))
 
Heb hem geprobeerd, en het werk perfect. Dank je :).
Maar je hebt het ook nog over een slimmere methode, wat zou dat zijn?

Ik ben beginnend Access gebruiker en wil graag leren hoe ik mijn databases het beste kan opzetten.
 
Maar je hebt het ook nog over een slimmere methode, wat zou dat zijn?
Die heb ik al gebruikt :). Simpel gezegd: jij doet alles met Mid, maar dat is niet nodig als je links of rechts uitleest. Dan kun je beter LEFT en RIGHT gebruiken.
 
Ah, duidelijk.. had dat over het hoofd gezien. Probleem opgelost:)
 
Dan mag je naast het probleem ook de vraag op Opgelost zetten :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan