Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det ser ud som om, du fodrer Access forkert fra ASP. Access har ingen problemer med 13.12.06 (der findes jo ingen 12.13.06); men 11.12.06 tolkes forkert som 12.11.06. Prøv at sæt datoerne ind fra ASP i formatet mm/dd/åå (altså med skråstreger).
2 forslag mere: SELECT * FROM tabel WHERE dato > #2007-01-01# AND dato < #2007-01-31# ELLER SELECT * FROM tabel WHERE dato > '2007-01-01' AND dato < '2007-01-31'
fdata > Jeg ikke checket om der var samme forslag. Dette burde være et banalt problem og skulle være løst for længst. Jeg er enig i dine betragtninger vedr. dato formatet eller måske rettere noget andet. Formater er jo kun det, vores øjne ser på skærmen.
Jeg kan kun opfordre spørgeren at kontrollere, om feltet er af dato-typen, og desuden kontrollere om Acces og brugeren har samme opfattelse af, om f.eks 2007-01-02 er 2. JAN eller 1. FEB.
you have to remember that the user is using an Access database from ASP which isnt the same as when working in Access. There are a number of things which can have influence on teh date format. For example the server where the database is could have regional settings in US format but the the users PC is in Danish. Which machine decides what format is used in the SQL SELECT?
problemet må være min dato mærkning.. hvis jeg fra asp sætter denne dato ind: 08-01-2007 som er den 8 januar får jeg denne dato i databasen: 01-08-2007, kan jeg ikke helt forstå
Is the database and the ASP page on the same PC? Dates are alwasy stored in Access in the same way. How you see the dates is goverened by the regional settings.
Take a look at this link http://www.codetoad.com/asp/format_date_time.asp at the section "International Date and Time". Her you can see that it is possible to give which date format you want to use on your WEB page, which I think you will find should be the same as the server where you database is.
Rememebr that a wbe application can be opened from almost any country, and therefore the date format will change. That is why you need to specify (see link) which regional settings the web page must use. Otherwise different date formats will end up getting written to the dB.
det hjælper mig stadig ikke at sætte et "lcid" i min insert into ser dato rigtig ud men når jeg kigger i databasen har den byttet om på md og dag, men efter den 13. i hver md ser det rigtig ud igen
hmm har stadig samme problem..access vender om på dag og med efter d 12 og kan ikke bruge min dato'er til noget da jeg ikke kan hente dem ud med en sql og between.. vil meget gerne have flere forslag til dette.
Datoer gemmes i Access som kommatal - uanset maskinens opsætning
I JET SQL skal du bruge en tekststreng med formattet 'mm-dd-yy hh:nn:ss' eller 'yyyy-mm-dd hh:nn:ss' Igen uanset maskinens opsætning
Der hvor det går galt er når du bruger programmeringssproget til at formatere datoen. VB's funktion now() retunuere maskinens ur i det format som maskinen er sat op til. Derfor skal du formatere datoerne i SQL koden som 'yyyy-mm-dd' select ..... Where dato between format(now,'yyyy-mm-dd') and format(now+7,'yyyy-mm-dd') Jeg ved ikke om format() findes i ASP, men jeg håber du har fanget pointen
Du skal iøvrigt også være sikker på at dine input datoer er korekte - hvis de ikke er det vil forespørgslen ikke returnere rigtigt. insert into tabel (datofelt) values #12/1/2007# ovenstående sql indsætter en post med værdien 1. dec 2007 ......
så vil din select .... between selvfølgelig ikke virke
Du har ret i at det du ser er afhængig af maskinens regionale settings, men når du arbejder direkte i SQL'en er datoformatet ALTID yyyy-mm-dd eller mm-dd-yy
Det er nemt at se: Hvis man skriver en dato i en forespørgsel - designvisning og skifter til SQL visning har ACCESS ændret dato formattet til yyyy-mm-dd
Maskinens regionale indstillinger fortælle Access hvordan datoformattet i designvisning skal 'oversættes' til Access egen JetSQL format
Hi Niels Yes I'm aware of that. My comment (18/01-2007 10:26:46) was regarding how the actual data is seen, IE in table view. So that sf can see if the data is getting written to the dB as he expects.
If he is inserting yyyy/mm/dd then he may be expecting to see it in the same format which will very likley NOT be the case.
hmm er meget glad for alt denne hjælp men er lidt forvirret..
fra database som jeg ser den, når jeg åbner den i access:
dato 9/10/2006 10/10/2006 11/10/2006 12/10/2006 10/13/2006 10/14/2006 10/15/2006
disse er alle fra den 10 MD. problemet for mig er ikke hvordan de ser ud men når jeg henter en MD ud ( med where dato between) men en sql i asp får jeg ikke et rigtigt resultat.
håber i forstå hvad jeg mere og har lidt mere tid til at hjælpe
Du har indsat datoerne forkert :( datoerne i din liste er mm-dd-åååå
10. sept 10 okt' 10 nov 10 dec 13. okt 14 okt
Derfor lav din SQL om der indsætter datoerne korrekt "insert into tabel (datofelt) values 'mm-dd-åååå'"
Niels
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.