Ga naar inhoud
  • 0

tekstveld naar datum


pjotter

Vraag

Kom net achter iets waar ik even geen antwoord op heb en wat ik nog niet ben tegen gekomen?

Ik heb een tekstveld wat ik importeer.

Als ik dat na import omzet naar een datum veld dan heb ik 2 verschillende uitkomsten.

1 als de tekst is opgemaakt als vb: 01/01/2008 dan krijg ik keurig datum 01-01-2008

2 als de tekst is opgemaakt als vb: 01-01-2008 dan krijg ik de datum 01-01-2007?

Ik gebruik voor omzetten van de tekst gewoon:

Date ( Middle ( datumtekst ; 3 ; 2 ); Left ( datumtekst; 2) ; Right ( datumtekst ; 4 ) )

Hoe kan het dat ik in voorbeeld 2 voor het jaartal 2007 krijg (laatste 4 laatste tekens zijn echt 2008?)

De export is een tekst veld omdat de datum ook als volgt kan worden weergegeven :01 jan 2008

Link naar reactie

9 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Dat ik met een aangepaste formule er wel uit kom dat kan maar wat ik zo vreemd vindt is dat wanneer is xx/xx/xxxx neem als tekst en ik dit omzet ik wel het juiste jaartal krijg en bij xx-xx-xxxx het jaartal -1?

Ik heb een bestandje bijgevoegd omdat ik de beweegredenen niet ken waarom // een heel andere uitkomst heeft dan --?

 

Met get as date werkt het wel met // en met -- maar ik kan ook de tekst aangeleverd krijgen als: 1 jan 2008

vandaar dat ik die niet gebruikte. In de totale formule zit namelijk ook een stukje met case( jan =1 enz)

datum.fp7

Link naar reactie
  • 0
Bovenstaande oplossingen werken niet op alle systemen.

FM herkent jan-feb enz dan niet

 

Om de formule niet al te lang te maken heb ik een veld bijgemaakt.

 

gr

Harry

Dat omzetten is niet het probleem dat werkt op zich allemaal prima ik heb het ozetten van jan naar 1 gewoon in de formule geplaatst van date(mont,day,year). Ik kan alleen niet uitstaan dat ik niet weet waarom / als scheidings teken wel de juiste datum geeft en - niet. Als ik alleen het jaar neem (Right ( datumtekst ; 4)) dan krijg ik keurig het juiste jaartal. ALs ik vervolgens dit dit invoeg in de eerste datum omzetting dan krijg ik weer 1 jaar lager.

Link naar reactie
  • 0
Ik kan alleen niet uitstaan dat ik niet weet waarom / als scheidings teken wel de juiste datum geeft en - niet.

Omdat delen niet hetzelfde is als aftrekken.

 

En dat komt allemaal door die 3 in Middle ( datumtekst ; 3 ; 2 ). Hiermee krijg je dus voor de maand "-0" of "/0". Aangezien de Date functie getallen verwacht probeert hij deze 'tekst' te interpreteren. Daarom moet het een 4 zijn. Dan krijg je "01" in beide gevallen, dat wordt dus maand 1.

 

Uiteraard werkt deze formule alleen wanneer de datumtekst in het formaat xx-xx-xxxx wordt gepresenteerd, evenals GetAsDate (). Filter je de niet numerieke karakters eruit, dan wordt het al helemaal onvoorspelbaar. 1-1-'08 zou ook kunnen.

 

In een goede datum omzettingsformule moet je al die uitzonderingen afvangen. Omdat je niet weet wie het allemaal gaat invoeren, is dat niet mogelijk. Ik heb het ooit gehad dat gebruikers invoerden: "ergens in februari vorig jaar" of "Eerste kerstdag 2005".

 

Zorg daarom dat datums in een datumveld worden ingevoerd. Wanneer het via een webformulier gebeurt, pas dan een validatie toe, die de gebruiker bij fouten opnieuw laat invoeren.

Link naar reactie
  • 0

Kijk een duidelijke uitleg maar wel een vreemde voor me. dat-4 iets anders is dan /4 is logisch, dus tot zover duidelijk.

Ik zie ook dat de 3 dat effect heeft en dat de 4 de juiste uitkomst geeft maar dan is het nog steeds vreemd dat dus FM dit alleen bij de - doet?

Delen, vermenigvuldigen of optellen heeft geen enkel effect.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...