---
title: "Födelsedagar närmaste veckan"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/78830-födelsedagar-närmaste-veckan"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bj"
published: "2003-06-03T19:27:28.000Z"
updated: "2008-04-20T12:10:14.000Z"
replies: 11
views: 716
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/78830-födelsedagar-närmaste-veckan"
---

# Födelsedagar närmaste veckan

## #1 — Bj, 2003-06-03T19:27Z

Jag har sökt och hittat en del funktioner på webforum hur man kan ta fram födelsedagar ur ett datum/tid -fält.
Men naturligtvis har jag kört fast på två punkter.

```
sql = "select * from kunder where month(fodelseDatum) = month(now()) and day(fodelseDatum) = day(now())"

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
alder = RecSet("FodelseDatum")
response.write RecSet("Fornamn") & " " & RecSet("Efternamn") & " som fyller " & DateDiff("y",alder,date())/365.2375 & " år idag <br>"

RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
```

1\. Hur skall man skriva för att få fram födelsedagarna de närmaste sju dagarna?

2\. Hur tusan avrundar jag?? Har testat på olika sätt utan att lyckas. Det blir ju nu t.ex 25,23435873 år

Permalänk: https://www.webforum.nu/p/78830

## #2 — Vide, 2003-06-03T19:40Z

Re: Födelsedagar närmaste veckan

Förutsätter att kör SQL-Server. Kör du Access för du sätta # runt datumvärdena istället.

Testa detta:

```
sql = "select * from kunder where month( fodelseDatum ) between " & month( date() ) & " and " & month( dateadd( "D", 7, date() ) ) & " and day(fodelseDatum) between " & day( now() ) & " and " & day( dateadd( "D", 7, date() ) )

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
alder = RecSet("FodelseDatum")
response.write RecSet("Fornamn") & " " & RecSet("Efternamn") & " som fyller " & round( DateDiff("y",alder,date())/365.2375 ) & " år idag <br>"

RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
```

/R Lite ändringar...

Permalänk: https://www.webforum.nu/p/1073331

## #3 — Bj, 2003-06-03T19:45Z

Tack Vide.
Visst är det access jag kör...
Var menar du att jag skall sätta #?

Permalänk: https://www.webforum.nu/p/1073335

## #4 — Vide, 2003-06-03T19:46Z

Glöm det, ändrade det så att det inte spelade någon roll. ;)

Varsågod... :)

Permalänk: https://www.webforum.nu/p/1073337

## #5 — Bj, 2003-06-03T20:06Z

Visst funkade det bra Vide...
Nu uppstod en annan sak jag inte tänkte på.
Går det att få fram datumet som personen i fråga fyller år på.

```
response.write RecSet("Fornamn") & " " & RecSet("Efternamn") & " som fyller " & round( DateDiff("y",alder,date())/365.2375 ) & " år den ?????????<br>"
```

Permalänk: https://www.webforum.nu/p/1073356

## #6 — Josef, 2003-06-03T20:15Z

Ta bara månad och dag ur *fodelsedatum*.

Permalänk: https://www.webforum.nu/p/1073362

## #7 — Bj, 2003-06-04T20:28Z

Om någon är intresserad(eller kan bli) lägger jag in det färdiga scriptet här.
Tack för hjälpen.

```
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
sql = "select * from kunder where month( fodelseDatum ) between " & month( date() ) & " and " & month( dateadd( "D", 7, date() ) ) & " and day(fodelseDatum) between " & day( now() ) & " and " & day( dateadd( "D", 7, date() ) )& _
" ORDER BY month( FodelseDatum ),day( FodelseDatum ) ASC "

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

if RecSet.EOF then
response.write "Inga födelsedagar denna vecka"
else

Do Until RecSet.EOF
alder = RecSet("FodelseDatum")
response.write RecSet("Fornamn") & " " & RecSet("Efternamn") & "  " & round( DateDiff("y",alder,date())/365.2375 ) & " år den " & day(RecSet("Fodelsedatum")) &"/" & month(RecSet("Fodelsedatum")) &"<br>"

RecSet.MoveNext
Loop
end if
RecSet.Close
Connect.Close
%>
```

Permalänk: https://www.webforum.nu/p/1074115

## #8 — Bj, 2003-06-24T05:21Z

Ovanstående hara funkat perfekt fram till idag.
Nu visas födelsedagar från 1/6 ända fram till den 22/7.
Jag antar att det kan ha något med månadsskiftet att göra men är det någon som vet hur jag skall lösa det?

Permalänk: https://www.webforum.nu/p/1091622

## #9 — Bj, 2003-06-24T17:33Z

Ingen...?

Permalänk: https://www.webforum.nu/p/1091999

## #10 — Krekan, 2003-06-26T00:26Z

Bara rent upp och ner ur mitt just nu trötta huvud ... räcker det inte bara att skriva typ
"SELECT \* FROM Kunder WHERE FodelseDatum BETWEEN " & Date() & " AND " & DateAdd("d", 7, Date) & " ORDER BY FodelseDatum ASC"

Permalänk: https://www.webforum.nu/p/1092975

## #11 — Bj, 2003-06-26T05:52Z

Nej tyvärr. Då visar den att inga födelsedagar finns den närmsta tiden. (Men de finns i databasen)
Har fått följande sql-sats i sql-forumet.

```
sql = "SELECT * FROM kunder WHERE DateSerial(Year(Date()), Month(fodelseDatum), Day(fodelseDatum))" & _
"BETWEEN Date() AND DateAdd('d', 7, Date()) ORDER BY Month(fodelseDatum), Day(fodelseDatum)"
```

Denna sql-sats går nu igenom utan felmeddelande men nu får jag i stället ett fel på nästa rad vilken ser ut på följande vis.

```
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
```

Meddelande lyder:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Typblandningsfel i villkorsuttryck.
fodelsedag.asp, line 21
Jag har adovbs inkluderad.
Resterande kod ser ut på följande vis.

```
if RecSet.EOF then
response.write "Inga födelsedagar denna vecka"
else

Do Until RecSet.EOF
alder = RecSet("FodelseDatum")
response.write RecSet("Fornamn") & " " & RecSet("Efternamn") & "  " & round( DateDiff("y",alder,date())/365.2375 ) & " år den " & day(RecSet("Fodelsedatum")) &"/" & month(RecSet("Fodelsedatum")) &"<br>"

RecSet.MoveNext
Loop
end if
RecSet.Close
Connect.Close
```

Permalänk: https://www.webforum.nu/p/1092992

## #12 — Fireh, 2008-04-20T12:10Z

Några år senare.... någon som vet svaret på BJ:s problem ovan?

Jag har exakt samma problem med att det blir fel vid månadsskifte. Istället för att t.ex. ta 28 april till 4 maj tar den alla mellan 1-7 april och 1-7 maj. När jag liksom BJ testar SQL-satsen i senaste inlägget får jag också Typblandningsfel i villkorsuttryck på den raden. Jag har provat med lite olika datatyper (datum ,text, tal), men ingen skillnad. Använder en Access-databas om det gör någon skillnad.

Någon som vet?

Permalänk: https://www.webforum.nu/p/2102097

---

Tråden på webben: https://www.webforum.nu/amne/asp/78830-födelsedagar-närmaste-veckan
