ASP/Access2000, wie past toch steeds mijn waarden aan..

Pagina: 1
Acties:

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Topicstarter
Lo, mensen.

Ik was weer eens een beetje aan het ASP-en ging alles best wel lekker eigenlijk totdat het volgende aan de beurt kwam een datum en numeriek (nu valuta) veld.

Eerst maar eens het probleem met het datum veld.
Had een programma gemaakt, wat gewoon simpel de datum in de database zette volgens de NL standaard.
Datum stond ook correct in de database (access 2000), bijvoorbeeld 10-10-2002.
Ik las de datum uit en zag er zo geen fouten aan, maar ja later in de week viel me dus wel een fout op.

De datum fout:
Ik paste wat gegevens aan van het oefen persoontje, de datum werd gewijzigd in 12-08-2002 (datum van de betreffende dag :P). Toen ik daarna de gegevens weer uitlas, viel me wat raars op de maand en dag stonden verkeerd om? Ik las hier gewoon de recordset uit van de betreffende tabel, dus dacht van huh hoe kan dat.
Na het kijken in de database zag ik dat deze waarde ook correct was, in de database stond ook 12-08-2002? Toen had ik helemaal zoiets van hoezo raar? Ik heb ook ff de systeem instellingen (tijdzone, datum) van mij na gekeken maar stonden ook allemaal goed. Dacht laat ik dan eens een invoermasker bij die tabel instellen, nou dat was ook een no go. Nadat ik het betreffende datum veld veranderd had in een tekst veld ipv van een datum/tijd veld deed deze het wel correct?

Ik heb hiervoor geen verklaring kunnen vinden, iemand van jullie en idee.

Een soort zelfde fout kom ik ook tegen bij een numeriek/valuta veld.

De nummeriek/valuta fout:
Eerst had ik een nummeriek veld waarin ik een waarde met scheidingsteken invoerde. Bijvoorbeeld 22.50. Hiervan maakt ie dus (naar mijn mening) brutaal, 22.5, maar aangezien het om een geld bedrag ging wilde ik dit dus niet. Terwijl ik ingesteld had 2 cijfers achter 2 het scheidingsteken.
Toen had ik het toch maar in een valuta veld veranderd (wilde geen valuta ivm het mogelijk omzetten van deze access db naar een andere database m.b.t. compatibiliteit).
Na deze verandering werd het bedrag 22.50 wel op de correcte wijze opgeslagen. Maar nadat ik het betreffende veld weer uitlas uit de access database zie ik op mijn schermpje keihard staan 22.50? (na het uitlezen van de recordset)

Hiervoor heb ik ook geen verklaring kunnen vinden.

Alvast bedankt voor mogelijke suggesties/oplossingen etc. In de tussentijd probeer ik weer ff van alles uit.

  • ErikRo
  • Registratie: Juni 2001
  • Laatst online: 26-08 18:02
Neemt hij hij niet de instelling van de locale machine over. Als die op mmddyy staat komt en een andere machine op ddmmyy dan staat er volgens mij 051202 en 120502 in de db. Tenminste ik dacht ooit eens zoiets gezien te hebben in een frutseltje van mij.

"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant


  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Topicstarter
Voor het tweede probleem heb ik van een kameraad al een oplossing gekregen, moet dus moest met de formatNumber functie de recordset aanpassen (deze wordt dus ook locaal door het systeem/server beinvloed? hoezo raar)

ErikRo, wat je zegt over de datum klopt, maar die zou normaal correct weergegeven moeten worden omdat mijn OS (w2k) instellingen kloppen. Maar de betreffende kameraad zei dat dat kwam doordat mijn OS engels was en het hier dus aan lag (hij had het probleem ook gehad, page deed goed onder NL OS maar shit onder ENG OS).

Dus alweer past het OS/IIS server deze waarden weer aan (hoezo aso?)

Verwijderd

ErikRo schreef op 13 augustus 2002 @ 19:31:
Neemt hij hij niet de instelling van de locale machine over. Als die op mmddyy staat komt en een andere machine op ddmmyy dan staat er volgens mij 051202 en 120502 in de db. Tenminste ik dacht ooit eens zoiets gezien te hebben in een frutseltje van mij.
heeeeeeelp diep in het geheugen graaft:
(volges mij zoiets, weett het echt niet cker)


nee ik geloof het niet, als je access uitleest in ASP gebruikt hij de amerikaanse waarde, heb ik gemerkt, waardoor het precies komt weet ik niet... je moet ook iets van # eromheen zetten als je het invoert (via sqlquery) , dan gaat het wel goed..

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Topicstarter
Verwijderd schreef op 13 augustus 2002 @ 23:03:
[...]


heeeeeeelp diep in het geheugen graaft:
(volges mij zoiets, weett het echt niet cker)


nee ik geloof het niet, als je access uitleest in ASP gebruikt hij de amerikaanse waarde, heb ik gemerkt, waardoor het precies komt weet ik niet... je moet ook iets van # eromheen zetten als je het invoert (via sqlquery) , dan gaat het wel goed..
Zal dat met die query ff onderzoeken.
Dat met dat uitlezen kan door de taal van je OS komen (kameraad van mij had dat dus gehad).
Maar ja ik vind het een raar verscheinsel, datum instelling zijn volgens NL standaard in het gehele systeem, dus wel raar dat ie daarvoor nog steeds de Amerikaanse standaard neemt.

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Topicstarter
Het datum probleem kan misschien opgelost worden met SQL, maar dit is wel een beetje omslachtig.

Heeft iemand misschien nog een idee hoe ik m.b.v. ASP/vbscript een datumformat kan aanpassen.

Aan al de format functies van vbScript die ik heb gevonden heb ik nog niets gehad, zoals smalldatetime enzo, want die nemen weer de amerikaanse instellingen over.

Wat ik dus zou willen is volgende ik heb een recordset waarin een datumveld is opgeslagen. Deze is correct opgeslagen in de database, dus dd-mm-yyyy. Maar bij uitlezen wordt het weer weergegeven als mm-dd-yyyy.
Dit probleem ligt naar horen bij de OS, want deze is bij mij Engels (terwijl de regional settings etc allemaal op nl zijn ingesteld).
Ik zoek dus een functie waarmee ik het volgende kan:
recordset, #dd-mm-yyyy.
Kan iemand me helpen, kan hier namelijk geen oplossing voor vinden :'( (wordt langzamer hand nog gekker dan dat ik al was).

  • ErikRo
  • Registratie: Juni 2001
  • Laatst online: 26-08 18:02
Kun je hem voor het opslaan niet hard converteren, naar ddmmyyyy formaat desnoods in tekstformaat?

"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant


Verwijderd

gebruik SetLocale("nl") om ASP een bepaalde datum/tijd locatie te laten gebruiken.
Probleem opgelost.

Zie ook: http://msdn.microsoft.com...6/html/vsfctsetlocale.asp
Pagina: 1