Avatar billede wandaxp Praktikant
26. maj 2002 - 19:20 Der er 16 kommentarer og
2 løsninger

Databse kontrol...

Jeg har denne kontrol i en access database :
                          strSQL = "SELECT COUNT(*) FROM res WHERE dato = '" & dtmCurDate & "'"                  Set database3 = Con.Execute(strSQL)
(Jeg har også prøvet uden disse 2 '' men uden held...)
For at kan sortere mine poster i databasen efter dato, er jeg nødt til at have det som en datofelt inde i access, hvor den er sat til at lave strengen dd-mm-åååå men når det i databasen er sat til at være en dato format, kan jeg ikke lave kontrollen med om det er det samme som dtmcurdate, hvordan får jeg det til at virke?

På forhånd 1000 TAK for hjælpen :-)
Avatar billede psyclown Nybegynder
26. maj 2002 - 19:24 #1
strSQL = "SELECT COUNT(*) FROM res WHERE dato = #" & dtmCurDate & "#"
Set database3 = Con.Execute(strSQL)

Jeg mener at der skal være # både foran og bagved når det er et datofelt, jeg er ikke sikker, men der er ikke andet at prøve
Avatar billede wandaxp Praktikant
26. maj 2002 - 19:50 #2
hmmm ja nu kan den læse dem, men den læser nogle af datoerne forkert (de der kan læses som amerikanske datoer læses som dette eg. mm.dd.åååå)
og dem der starter med 13 eller over læses rigtigt som dd.mm.åååå
men jeg har lavet koden for dansk standard... : Session.LCID = 1030 ' Sæt local country til dansk, så hvad kan der nu være galdt med dette?
Avatar billede psyclown Nybegynder
26. maj 2002 - 20:48 #3
Jeg forstår ikke lige hvad du mener...
Avatar billede wandaxp Praktikant
26. maj 2002 - 21:02 #4
Den læser ikke datoformatet korrekt...
Avatar billede wandaxp Praktikant
26. maj 2002 - 21:03 #5
dd=dag
mm=måned
åååå = år (feks. 2002)
Avatar billede wandaxp Praktikant
26. maj 2002 - 21:14 #6
Kort sagt...

I databasen har jeg følgende datoer efter standarden dd-mm-åååå
04-06-2002
10-06-2002
22-06-2002
18-07-2002
07-08-2002
Blandt disse datoer (når asp siden læser koden) bliver følgende lavet ud fra disse :
06-04-2002
06-10-2002
22-06-2002
18-07-2002
08-07-2002

Det den bare skal gøre er ellers at læse datoen fra databasen som en tekst streng, og ikke tænke nærmere over en oversættelse, kan dette lade sig gøre?
Avatar billede wandaxp Praktikant
26. maj 2002 - 21:16 #7
De datoer hvor dagen ikke er større end en acceptabel måned nr, bliver lavet om til denne standard mm-dd-åååå og dette kan jeg ikke bruge til noget...
Avatar billede psyclown Nybegynder
26. maj 2002 - 21:39 #8
okay, det lyder som noget underligt noget..har du prøvet at formaterer dato, med en function eller sådan noget, når de bliver skrevet ud, så skulle de da gerne blive ens...selvom de skulle det alligevel..
Avatar billede wandaxp Praktikant
26. maj 2002 - 21:40 #9
er ikke lige helt med på hvad du tænker på?
Avatar billede psyclown Nybegynder
26. maj 2002 - 21:48 #10
2 sec, så skal jeg lige lave en function til dig..
Avatar billede psyclown Nybegynder
26. maj 2002 - 21:54 #11
Function FormatDate(theDate)
FormatTimeDate = day(theDate) & "-" & month(theDate) & "-" & year(theDate)
End Function

Prøv at sætte den der function ind i dit script, eks. i toppen af dit dokument og udskriv dine datoer sådan her:

FormatDate(rstemp("Ditdatofelt"))

Nu ved jeg ikke helt hvordan du har udskrevet dine datoer, men hvis du ikke kan få det til at virke, så skriv lige det stykke af din kode, hvor du udskriver datoerne.
Avatar billede psyclown Nybegynder
26. maj 2002 - 21:55 #12
Function FormatDate(theDate)
FormatDate = day(theDate) & "-" & month(theDate) & "-" & year(theDate)
End Function

Lille rettelse
Avatar billede wandaxp Praktikant
26. maj 2002 - 22:33 #13
det kan jeg helelr ikke få til at virke i denne sammenhæng....
Avatar billede psyclown Nybegynder
26. maj 2002 - 22:36 #14
prøv at skriv den kode som udskriver alle datoerne på din side her, så kan jeg sætte det ind for dig.
Avatar billede wandaxp Praktikant
26. maj 2002 - 22:40 #15
Den udskriver ikke datpoerne, den slår dem op i databasen til kontrol, det er den sætnign som står her øverst... :
strSQL = "SELECT COUNT(*) FROM res WHERE dato = '" & dtmCurDate & "'"                 
Set database3 = Con.Execute(strSQL)

Hvor dato = dotofeltet i databasen som er af typen dato og
hvor dtmcurdate er en variabel der skifter med 1 en dag for hver gang den gennemløber lykken og kommer hertil igen....
Avatar billede psyclown Nybegynder
26. maj 2002 - 23:01 #16
okay, jeg troede at datoerne blev udskrevet på en side, men jeg ved desværre ikke hvad du skal gøre så...
Avatar billede wandaxp Praktikant
26. maj 2002 - 23:15 #17
hmmm øv.....
har nemlig heller ikke selv så pokkers mange ider...
andet end kan man ikke få den til at læse dtmcurdate som og dato som en streng variabel i sql sætningen?
eller lave en sortering af datoerne i databasen når de deri står som teskst felter istedet for dato felter?
(Hvis man nu forsøger denne form for sortering, når det er tekst felter, bliver de sorteret først efter dag så efetr måned og til sidst år, og det vil sige at det vil give denne række følge desværre... :

04-06-2002
07-08-2002
10-06-2002
18-07-2002
22-06-2002
Avatar billede wandaxp Praktikant
27. maj 2002 - 22:21 #18
Tak for forsøget, men afslutter nu spørgsmålet som ikke besvaret helt, men du får dog 30 ponit for besværret....
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester