/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
if then else med datoer
Fra : Henrik Frederiksen


Dato : 10-03-03 03:04

Hej NG

Jeg har et lille problem med at få en dato ( text felt fra db 03-03-2003)
til at arbejde sammen med en if sætning.
kan i finde fejlen. datoen på min server er også i dette format 03-03-2003
"name" og "desc" skal kun komme frem hvis den er imellem "begin" og "end"

Håber i kan hjælpe
-Henrik

<% if mode = "" then
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("db.mdb")
strSQL = "SELECT * FROM konkurrence"
Set rs = myConn.Execute(strSQL)%>
konkurrence der er adgang til nu <br>

<% if vbShortDate > rs"(begin)" & vbShortDate < rs"(end)" then %>


<% Do until rs.eof %>
<a href=kon_profil.asp?id=<%=rs("id")%>><%=rs("name")%></a><br>
<%=rs("desc")%><br>


<%
rs.movenext
loop%>

<% else %>
none
<% end if %>

<%
myConn.Close
Set myConn = Nothing
end if %>



 
 
Jens Gyldenkærne Cla~ (10-03-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 10-03-03 10:13

Henrik Frederiksen skrev:

> <% if vbShortDate > rs"(begin)" & vbShortDate < rs"(end)" then
> %>

Først og fremmest skal du flytte anførselstegnene ind i
paranteserne. Altså rs("begin") og rs("end").

Dernæst skal du kigge på selve din if-sætning. Jeg går ud fra at du
vil tjekke at en dato ligger mellem rs("begin") og rs("end"). Men
vbShortDate er - hvis den overhovedet er defineret - formentlig
blot en konstant der i andre sammenhænge kan fortælle noget om en
datatype. Du skal gemme en dato i den variabel du sammenligner med
(hvis det er det du allerede har gjort vil jeg foreslå dig at vælge
et andet variabelnavn - vbShortDate er en foruddefineret konstant i
vb-lignende sprog.

Men spørgsmålet er om du overhovedet har brug for den if-sætning.
Du vil formentlig have langt lettere ved at sætte dit kriterium i
selve forespørgslen:

SELECT * FROM konkurrence WHERE Date() BETWEEN [begin] AND [end]

(Date() returnerer dags dato, du kan formentlig selv gætte hvad
between gør).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Henrik Frederiksen (10-03-2003)
Kommentar
Fra : Henrik Frederiksen


Dato : 10-03-03 10:55

Så siger jeg mange tak.

Det var også lidt sent da jeg sad med det
-Henrik



Ukendt (10-03-2003)
Kommentar
Fra : Ukendt


Dato : 10-03-03 22:52



"Henrik Frederiksen" <henrik@eye4web.dk> wrote in message
news:3e6bf277$1@news.wineasy.se...
> Hej NG
>
> Jeg har et lille problem med at få en dato ( text felt fra db 03-03-2003)
> til at arbejde sammen med en if sætning.
> kan i finde fejlen. datoen på min server er også i dette format 03-03-2003
> "name" og "desc" skal kun komme frem hvis den er imellem "begin" og "end"
>

2 forslag.

1) brug datofelt i databasen i stedet for et tekst felt
2) udvælg kun de data du har brug for og kør din løkke derefter

> strSQL = "SELECT * FROM konkurrence WHERE dato > ?????? AND dato < ????
;"

<% Do while not rs.eof %>

--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
Destiny is not a matter of chance it is a matter of choice



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste