Avatar billede lubbers Nybegynder
23. marts 2001 - 22:03 Der er 25 kommentarer og
1 løsning

formularfelt med dato

Jeg skal hente en dato fra et formularfelt, men det bliver opfattet som en tekst. Og da jeg skal sammenligne med dags dato går den ikke.
Jeg ved at der er en strengfunktion der hedder FormatDateTime, men jeg ved ikke hvordan jeg bruger den.
På forhånd tak for hjælpen!!!
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:09 #1
FormatDateTime Function
Returns an expression formatted as a date or time.

FormatDateTime(Date[, NamedFormat])

Arguments
Date

Required. Date expression to be formatted.

NamedFormat

Optional. Numeric value that indicates the date/time format used. If omitted, vbGeneralDate is used.

Settings
The NamedFormat argument has the following settings:

Constant Value Description
vbGeneralDate 0 Display a date and/or time. If there is a date part, display it as a short date. If there is a time part, display it as a long time. If present, both parts are displayed. 
vbLongDate 1 Display a date using the long date format specified in your computer\'s regional settings.
vbShortDate 2 Display a date using the short date format specified in your computer\'s regional settings.
vbLongTime 3 Display a time using the time format specified in your computer\'s regional settings.
vbShortTime 4 Display a time using the 24-hour format (hh:mm).


Remarks
The following example uses the FormatDateTime function to format the expression as a long date and assign it to MyDateTime:

Function GetCurrentDate
  \' FormatDateTime formats Date in long date.
  GetCurrentDate = FormatDateTime(Date, 1)
End Function
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:10 #2
håber det kan hjælpe :-)

Mvh.
HorsMark
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:11 #3
...selvom lidt af din kode ville hjælpe
Avatar billede lubbers Nybegynder
23. marts 2001 - 22:15 #4
dato = Request.Querystring(\"dato\")
Dim Con
    Set Con=Server.CreateObject(\"ADODB.Connection\")
    Con.Open\"Driver={Microsoft Access Driver (*.MDB)};DBQ=\" & Server.MapPath(\"stenlund.mdb\")

Dim RS
    Set RS=Server.CreateObject(\"ADODB.RECORDSET\")
    RS.Open \"SELECT dato FROM Holdoversigt\",Con
    If dato > Date+7 Then
        Response.write\"Denne uge er ikke tilgængelig endnu\"
        Elseif dato < Date Then
            Response.write\"Det er desværre forsent at booke\"
            Else
                Response.write\"Tillykke\"       
    End if
   
    RS.Close
    Set RS=Nothing
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:24 #5
Dim RS
Set RS=Server.CreateObject(\"ADODB.RECORDSET\")
RS.Open \"SELECT dato FROM Holdoversigt\",Con

If FormatDateTime(RS(\"Dato\"), 2) > DateAdd(\"d\", 7, date)Then
  Response.write\"Denne uge er ikke tilgængelig endnu\"
  Elseif FormatDateTime(RS(\"Dato\"), 2) < Date Then
  Response.write\"Det er desværre forsent at booke\"
  Else Response.write \"Tillykke\"       
End if
   
RS.Close
Set RS=Nothing

måske?
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:26 #6
tror egentligt bare at grunden til at den tror det er tekst er fordi du bare siger dato istedet for RS(\"dato\")
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:27 #7
Hvis det ikke virker prøv...

FormatDateTime(RS(\"Dato\"), 2) > FormatDateTime(DateAdd(\"d\", 7, date), 2)
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:31 #8
Hvilket format har du gemt datoen i i recordsettet?

dd-mm-yy?
dd-mm-yyyy?
ddmmyy?
ddmmyyyy?
Avatar billede lubbers Nybegynder
23. marts 2001 - 22:32 #9
dd-mm-yy
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:34 #10
hvilket jo er det samme format som DATE, derfor skal du kun bruge AddDate ikke alt det formatDateTime-fis :-)
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:36 #11
DateAdd(interval, number, date)
number:
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week of year
h Hour
n Minute
s Second

hvor interval er eks \"2\"
hvor number er eks \"d\"
hvor date er sammenligningensdatoen 
Avatar billede horsmark Nybegynder
23. marts 2001 - 22:39 #12
Du burde da vidst downloade [VBscript help]?
Avatar billede lubbers Nybegynder
23. marts 2001 - 22:42 #13
Som jeg ser det lige nu skal jeg tjekke dato fra Querystring op mod date, inden jeg går i recordset.
Jeg er lidt forvirret nu.
Avatar billede horsmark Nybegynder
23. marts 2001 - 23:09 #14
øhh... jeg er sq osse forvirret nu BRAVO *GGGGG*.

Du får altså en dato fra den forrige side OG vil sammenholde den med en dato fra recordsetet i databasen. Eller er jeg helt forkert på den?

Avatar billede lubbers Nybegynder
23. marts 2001 - 23:20 #15
Først vil jeg hente en dato fra forrige side, så vil jeg tjekke om den er før idag eller over idag + 7 dage,datoen må kun være idag +7 dage.Så vil jeg gå ned i recordset og finde dato.
Avatar billede horsmark Nybegynder
23. marts 2001 - 23:22 #16
ahhh.. *GGGGGGGGG* (faldt lige af stolen af grin...sorry!!)

jep tjeck først hvis ja gå ned i databasen :-)
Avatar billede lubbers Nybegynder
23. marts 2001 - 23:28 #17
Jeg lavede den med ugenummer først, men ville hellere have dato. Her er koden til UGER, og den virker som den skal, efter at jeg ændrede i tabellen fra tal til tekst.
uge = Request.Querystring(\"uge\")
Dim Con
    Set Con=Server.CreateObject(\"ADODB.Connection\")
    Con.Open\"Driver={Microsoft Access Driver (*.MDB)};DBQ=\" & Server.MapPath(\"stenlund.mdb\")
Dim RS
    Set RS=Server.CreateObject(\"ADODB.RECORDSET\")
    RS.Open \"SELECT Uge FROM Holdoversigt WHERE ID IN (SELECT MAX(ID) FROM Holdoversigt)\",Con
    \'uge i Tabel-holdoversigt er lavet om til tekst
    If uge > RS(\"uge\") Then
        Response.write\"Denne uge er ikke tilgængelig endnu\"
        Elseif uge < RS(\"uge\") Then
            Response.write\"Det er desværre forsent at booke til denne uge\"
            Else
                Response.write\"Tillykke\"       
    End if
    RS.Close
    Set RS=Nothing       
Avatar billede horsmark Nybegynder
23. marts 2001 - 23:29 #18
If Request.Querystring(\"dato\") <= AddDate(\"d\", 7, date)Then

*sammenlign dato i basen*

Else Response.write \"Denne uge er ikke tilgængelig endnu\"
End If

       
Avatar billede lubbers Nybegynder
23. marts 2001 - 23:40 #19
Får denne meddelelse
Typerne passer ikke sammen: \'AddDate\'

Avatar billede horsmark Nybegynder
24. marts 2001 - 00:30 #20
DateAdd... (har lige drukket et par øl og er på vej i byen :-)
Avatar billede horsmark Nybegynder
24. marts 2001 - 00:33 #21
Jeg er på igen imorgen og hvis problemet skal fixes hurtigt så mail hele koden på HorsMark@tdk.dk og skal jeg imorgen lige checke op på vores lille forvirring :-)

Mvh.
HorsMark

(jeg finder også lige url´en til det sted hvor du kan downloade den meget brugbare VBscript documentation fra MicroSoft! Hvis du vil fortælle mig hvilken platform du sidder på Windows NT, Win98, Win2000 eller Win95 )
Avatar billede horsmark Nybegynder
24. marts 2001 - 19:41 #22
Som lovet :-)

http://msdn.microsoft.com/scripting/default.htm?/scripting/vbscript/default.htm

Her finder du bla. beskrivelse med eksempler på ovenævnte kommandoer
DateAdd og FormatDateTime OG mange mange flere :-)

Mvh
Jesper HorsMark
Avatar billede horsmark Nybegynder
24. marts 2001 - 21:19 #23
Jeg har lige lavet din datokode så den virker:

dim DatoDiff
DatoDiff = DateDiff(\"d\", Date, Request.Querystring(\"dato\")) \'DatoDiff er nu antal dage
 
  If DatoDiff <= 0 Then                 
      Response.write \"Det er desværre for sent at booke :-( \"     
    ElseIf DatoDiff <= 7 Then
    response.write \"tillykke \"
\'Her indsættes databasekoden
    Else Response.write \"Denne uge er ikke tilgængelig endnu \"
  End If

Mvh.
Jesper H.
Avatar billede horsmark Nybegynder
24. marts 2001 - 21:28 #24
Nu ved jeg selvfølgeligt ikke hvad der ligger gemt i databasen MEN nu virker datoerne :-) var selv lige ved at smide kaffe ind i CD-rom drevet af raseri hæhæ
Avatar billede lubbers Nybegynder
24. marts 2001 - 21:33 #25
Det er for sejt.Ja det virker, jeg vil lige kigge på koden og se hvad der sker. Jeg har også været inde på microsoft. Tak for hjælpen
Avatar billede horsmark Nybegynder
24. marts 2001 - 22:04 #26
anytime
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