/ 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
Fødselsdagsscript
Fra : Claus Nielsen


Dato : 13-01-02 19:50

Hej,
Jeg sidder og roder med et asp script som skal hjælpe min dovenskab..

<code>
startdato = Now()
slutdato = DateAdd("d",5,Now())
set conn = Createobject("ADODB.connection")
Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.mdb; User
Id=admin; Password=;"

Set rs = CreateObject("ADODB.RecordSet")
Sql = "SELECT * FROM tblBirthdayReminder WHERE Birthday >= #" &
month(StartDato) & "/" & day(StartDato) & "/" & year(StartDato) & "# and
Birthday <= #" & month(SlutDato) & "/" & day(SlutDato) & "/" &
year(SlutDato) & "#"
rs.Open Sql, Conn, 1, 2
If Not (rs.BOF Or rs.EOF) Then
Do While Not rs.EOF

strNavn = rs("Navn")
strNummer = rs("Telefonnr")
strDato = rs("Birthday")

strReminder = strReminder & strNavn & vbNewLine

rs.MoveNext
Loop
Else
End if

msgbox strReminder
</code>

I min db har jeg en kolonne der hedder Birthday. Her er alle datoer lagret
som 10-10-1980 for 10. okt. 1980. Når jeg kører scriptet vil jeg gerne at
den finde alle poster der inden for de næste 5 dage opfylder de krav.
Problemet er bare at det er ikke kun 1980 der er årstallet. Det kan være alt
fra 1975 til 1985. Hvordan kan man lave, så den bare checker på selve
datoen, og ikke årstallet?

Hilsen

Claus




 
 
Ole (13-01-2002)
Kommentar
Fra : Ole


Dato : 13-01-02 21:20

Hej
Hvad med at give den gældende år:
year(now)
?
Mvh Ole

"Claus Nielsen" <clausn@hotmail.com> skrev i en meddelelse
news:3c41d6e1$0$5495$edfadb0f@dspool01.news.tele.dk...
> Hej,
> Jeg sidder og roder med et asp script som skal hjælpe min dovenskab..
>
> <code>
> startdato = Now()
> slutdato = DateAdd("d",5,Now())
> set conn = Createobject("ADODB.connection")
> Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.mdb; User
> Id=admin; Password=;"
>
> Set rs = CreateObject("ADODB.RecordSet")
> Sql = "SELECT * FROM tblBirthdayReminder WHERE Birthday >= #" &
> month(StartDato) & "/" & day(StartDato) & "/" & year(StartDato) & "# and
> Birthday <= #" & month(SlutDato) & "/" & day(SlutDato) & "/" &
> year(SlutDato) & "#"
> rs.Open Sql, Conn, 1, 2
> If Not (rs.BOF Or rs.EOF) Then
> Do While Not rs.EOF
>
> strNavn = rs("Navn")
> strNummer = rs("Telefonnr")
> strDato = rs("Birthday")
>
> strReminder = strReminder & strNavn & vbNewLine
>
> rs.MoveNext
> Loop
> Else
> End if
>
> msgbox strReminder
> </code>
>
> I min db har jeg en kolonne der hedder Birthday. Her er alle datoer lagret
> som 10-10-1980 for 10. okt. 1980. Når jeg kører scriptet vil jeg gerne at
> den finde alle poster der inden for de næste 5 dage opfylder de krav.
> Problemet er bare at det er ikke kun 1980 der er årstallet. Det kan være
alt
> fra 1975 til 1985. Hvordan kan man lave, så den bare checker på selve
> datoen, og ikke årstallet?
>
> Hilsen
>
> Claus
>
>
>



Jakob Møbjerg Nielse~ (13-01-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 13-01-02 22:59

> Hvad med at give den gældende år:
> year(now)
> ?

Her skal man lige være opmærksom på at det vil give problemer ved
årsskiftet. Det kan selvfølgelig løses.

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"



Ole (14-01-2002)
Kommentar
Fra : Ole


Dato : 14-01-02 10:53


"Claus Nielsen" <clausn@hotmail.com> skrev i en meddelelse
news:3c41d6e1$0$5495$edfadb0f@dspool01.news.tele.dk...
> Hej,
> Jeg sidder og roder med et asp script som skal hjælpe min dovenskab..
>
<snip>

Jeg fik vist misforstået spørgsmålet, så hermed et forslag:

<%
session.lcid = 1030

ny_dato = now()+5'antal dage der skal kigges frem

strsql = "select * from tblBirthdayReminder where day(Birthday) between " &
day(now) & " and " & day(ny_dato) & " and month(Birthday) between " &
month(now) & " and " & month(ny_dato)
%>

Mvh Ole



Claus Nielsen (14-01-2002)
Kommentar
Fra : Claus Nielsen


Dato : 14-01-02 12:12

Hej,

Hvis jeg bruge Ole' sql sætning, får jeg ikke nogen resultater. Jeg har en
db med omkring 25 datoer, og scriptet skal køre hver dag.

Hilsen
Claus

"Ole" <baltic@worldonline.dk> wrote in message
news:3c42aa5a$0$5471$edfadb0f@dspool01.news.tele.dk...
>
> "Claus Nielsen" <clausn@hotmail.com> skrev i en meddelelse
> news:3c41d6e1$0$5495$edfadb0f@dspool01.news.tele.dk...
> > Hej,
> > Jeg sidder og roder med et asp script som skal hjælpe min dovenskab..
> >
> <snip>
>
> Jeg fik vist misforstået spørgsmålet, så hermed et forslag:
>
> <%
> session.lcid = 1030
>
> ny_dato = now()+5'antal dage der skal kigges frem
>
> strsql = "select * from tblBirthdayReminder where day(Birthday) between "
&
> day(now) & " and " & day(ny_dato) & " and month(Birthday) between " &
> month(now) & " and " & month(ny_dato)
> %>
>
> Mvh Ole
>
>



Ole (14-01-2002)
Kommentar
Fra : Ole


Dato : 14-01-02 13:27

"Claus Nielsen" <clausn@hotmail.com> skrev i en meddelelse
news:3c42bd11$0$80525$edfadb0f@dspool01.news.tele.dk...
> Hej,
>
> Hvis jeg bruge Ole' sql sætning, får jeg ikke nogen resultater. Jeg har en
> db med omkring 25 datoer, og scriptet skal køre hver dag.
>
> Hilsen
> Claus
<snip>

Hej
Indrømmer at den ikke var helt gennemtænkt og ikke testet.:)
Nyt forslag:
Hvad med at lave det som et loop ?

<%
for i = 0 to 4

dato = now()+i

strsql = "select * from tblBirthdayReminder where day(Birthday) = " &
day(dato) & " and month(Birthday) = " & month(dato)

set rs = conn.execute(strsql)

do while not rs.eof
response.write rs("navn") & "<br>"
rs.movenext
loop
next
%>



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

Månedens bedste
Årets bedste
Sidste års bedste