|
| 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
%>
| |
|
|