Ik vul de datum in vanuit een Gambas programma met een string sDocDate
die de datum in het formaat “2008-07-31” bevat.
Als ik het record ophaal, eventueel wijzig en terug bewaar, krijg ik echter een lege datum in de databank, waarschijnlijk als gevolg van een foute invoer.
Als ik naar het formaat kijk waarin de datum weergegeven wordt zie ik al het probleem: een andere datumindeling: “07/31/2008”, dus eerst de maand, dan de dag en dan het jaar. (op het scherm met txbxDate.Text= $hInvoice.sInvDate
)
Als diezelfde string terug bewaard wordt, of vervangen wordt door een andere onjuiste datum-vorm onstaat een probleem.
Oorzaak is waarschijnlijk de localisatie (US) van het systeem waar ik nu op werk.
Dat valt te voorkomen door de datumstring die je ophaalt om te zetten in een datum en daarna terug te formatteren als datum zoals je die wil:
txbxDate.Text = Format(CDate(FMain.$hInvoice.sInvDate), "yyyy-mm-dd")
Achtergrond: Continue reading →