Jump to content
  • 0

datum uit veld filteren


Gerard Exis

Question

25 answers to this question

Recommended Posts

  • 0

Aangenomen

- dat de datum in het formaat MM/DD/YY HH:MM is

- dat het altijd twee cijfers voor dag, maand en jaar heeft

- dat er geen datums voor 1-1-2000 zullen voorkomen

- dat het in het veld Importdatum staat

 

Dan kan het als volgt:

Let ( 
[
xDag = Middle ( Importdatum ; 4 ; 2 ) ;
xMaand = Middle ( Importdatum ; 1 ; 2 ) ;
xJaar = 2000 + Middle ( Importdatum ; 7 ; 2 )
] ; 

Date ( xMaand ; xDag ; xJaar )

)

 

Syntax check laat ik aan u :)

 

rmw

Link to comment
  • 0
Vilgens mij gewoon met getasdate() functie

GetAsDate ( "02/03/15 10:41" ) levert op een nederlands ingesteld systeem 2 maart 2015 op als datum, op een US ingesteld systeem levert diezelfde formule 3 februari 2015 op .... de werkwijze van RMW geeft exacte controle en is de juiste

Link to comment
  • 0

De essentie van de opmerking over zijn oplossing is: wanneer je ambivalente gegevens gaat verwerken, je niet gewoon aannames kan doen, maar de zaak gewoon moet controleren. GetAsDate() geeft geen enkele controle, die functie gaat er vanuit dat de te verwerken gegevens al in het juiste formaat staan en dat weet je niet.

Link to comment
  • 0

Felix dank voor je bijval uitleg. Nog even over de andere oplossing. Als de systemen verschillend staan ingesteld leid dit volgens mij altijd tot problemen. Dan kan namelijk de invoer al andersom staan dat moet dus ook zeker zijn. Je moet er dus domweg zeker van zijn dat beide systemen hetzelfde stelsel gebruiken en dan is blijkbaar getasdate de simpelste oplossing. Nu is een check op welk stelsel een uitdaging ik neem aan dat er geen invloed is op de invoer gegevens.

Link to comment
  • 0

Het gaat mij niet om de aannames, maar om dat wordt uitgezocht in welk formaat iets wordt aangeleverd en in welk formaat dat uiteindelijk moet worden verwerkt.

 

Met GetAsDate() wordt dat helemaal aan het toeval overgelaten en met de let/middle/date combinatie geef je jezelf als programmeur de gelegenheid om dat toeval uit te sluiten.

Link to comment
  • 0
krijg van een koeriersdienst de overzichten binnen, echter in een veld staat de datum en tijd ...

ik neem aan (ja ik doe ook aannames :P) dat deze bron de gegevens altijd met hetzelfde formaat aanlevert. Bij het hanteren van meerdere bronnen is het gebruikelijk om voor iedere bron een eigen "filter" te maken en dan is nog steeds GetAsDate() niet de manier.

Link to comment
  • 0

Heren, heel veel dank en waardering voor jullie input maar a.u.b. geen scherpe reactie's naar elkaar, er is al zoveel ellende in de wereld.

 

Ook moet ik toegeven dat de aanlevering van data van dit koeriersbedrijf op verschillende manieren gedaan wordt, namelijk als volgt:

02-03-15 10:41 of 02-03-2015 of 02-03-15 of 2015-03-02 en zelfs 0000-00-00 8O , dit komt omdat de gegevens van diverse verschillende filialen komen.

 

Ik kon hier geen oplossing voor vinden totdat ik het vanochtend meer dan zat was en even met het koeriersbedrijf een duidelijke afspraak heb gemaakt,

 

door deze aanlevering kan ik het factuur die zij naar mij sturen niet controleren, ongecontroleerde facturen worden in een Nederlands bedrijf NIET voldaan, dus ...... :mrgreen:

 

zij hebben plechtig beloofd het te gaan oplossen, nu ben ik benieuwd in welk formaat :wink:

Link to comment
  • 0

De verschillende filialen mogen natuurlijk wel hun eigen formaat aanleveren, als het maar steeds hetzelfde formaat per filiaal is. Als dat per filiaal ook nog eens verschilt ben je de sjaak.

 

Ik denk dat er op BrianDunning.com wel een inleesfunctie is die je kunt parametriseren, en anders is die wel te maken. Dus je geeft dan een datumformat mee met de tekststring en de functie komt met de juiste datumwaarde terug.

Link to comment
  • 0

Beste Hans Erik,

 

dank je voor je reactie, echter dit is op dit moment net effe te hoog gegrepen voor mij.

Tussen alle zakelijke drukte door probeer ik zoveel mogelijk mijn database uit te breiden met mogelijkheden waar ik dagelijks gemak van heb.

Echter ik weet eigenlijk totaal niks van FM, of wat voor programma dan ook, ik doe het iedere keer stapje bij stapje, probleem opgelost, op naar het volgende probleem :D

Eerlijk gezegd heb ik voor de makkelijkste weg gekozen, dit omdat zakelijk "het seizoen" start, de aankomende maanden weer absurd druk is voor mij.

De makkelijkste weg is (gezien het aantal verzendingen per jaar) dat het koeriersbedrijf dit graag gaat oplossen.

Link to comment
  • 0
Aangenomen

- dat de datum in het formaat MM/DD/YY HH:MM is

- dat het altijd twee cijfers voor dag, maand en jaar heeft

- dat er geen datums voor 1-1-2000 zullen voorkomen

- dat het in het veld Importdatum staat

 

Dan kan het als volgt:

Let ( 

[

xDag = Middle ( Importdatum ; 4 ; 2 ) ;

xMaand = Middle ( Importdatum ; 1 ; 2 ) ;

xJaar = 2000 + Middle ( Importdatum ; 7 ; 2 )

] ;

 

Date ( xMaand ; xDag ; xJaar )

 

zie bijlage : ik krijg niet de juiste datum

kan iemand mij helpen ?

Fred

tekst naar datum.fmp12

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...