Avatar billede cool_casper Nybegynder
12. november 2003 - 15:10 Der er 12 kommentarer og
1 løsning

Invalid use of null

Hi,

Jeg har lidt problemer med noget dato i ASP på en Access database. Jeg har en tabel hvor nogle brugere har indtastet deres fødeselsdag og nu skal jeg så have dem ind i en kalender.

Derfor trækker jeg Måned og Dag ud af det Access-felt og hvis det så er lig med dato'en skal det udskrive...
Koden er som følger:


**********************************************
'Tjek Fødselsdag!
                                strSQL = "SELECT foedselsdag FROM users"
                                Set tblUsers = objConn.Execute(strSQL)
                                If NOT tblUsers.EOF then
                                    Do While NOT tblUsers.EOF
                                        intFoedMonth = Month(tblUsers("foedselsdag"))
                                        intFoedDay = Day(tblUsers("foedselsdag"))
                                        Response.Write DateSerial(strYear,intFoedMonth,intFoedDay)
                                        If DateSerial(strYear,intFoedMonth,intFoedDay) = Date() then
                                            strAppDay = strAppDay & "<img src=""/lyngby-drengene/images/flag-dk.gif""> Fødeslsdag: <b>" & UCase(Left(tblUsers("name"),1) & LCase(Right(tblUsers("name"),Len(tblUsers("name"))-1)) & "</b><br>"
                                        End if
                                        tblUsers.Movenext()
                                    Loop
                                End if
                                tblUsers.Close
                                Set tblUsers = Nothing


**********************************************

Jeg får fejlen "Invalid use of Null: 'intFoedDay' " på linie 228: Response.Write DateSerial(strYear,intFoedMonth,intFoedDay)

Den linie er seævfølgelig indsat pga. debugging. Men det underlige er at den udskriver alle datoerne fint, men giver fejl på linien alligvel...?

Hvad kan være galt??

http://visitme.dk/lyngby-drengene/login/kalender.asp
Avatar billede kovalt Nybegynder
12. november 2003 - 15:11 #1
synes ikke jeg kan se hvor du tilskriver intFoedDay en værdi

/kovalt
Avatar billede kovalt Nybegynder
12. november 2003 - 15:11 #2
undskyld strYear :-)
Avatar billede erikjacobsen Ekspert
12. november 2003 - 15:12 #3
Ku' det være een af "drengene" ikke har tastet en fødselsdato ind?
Avatar billede cool_casper Nybegynder
12. november 2003 - 15:13 #4
:) - den bliver tilskrevet længere oppe i koden... Den er lig med det år som brugeren er på, i kalenderen altså.. Sandsynligvis 2003! :)
Avatar billede ellebaek Nybegynder
12. november 2003 - 15:14 #5
mon ikke det er fordi der er en af dine poster i databasen der ikke har defineret en fødselsdato?

Hvis den er tom, men du stadig prøver at regne på den, så vil der komme en fejl...
Avatar billede ellebaek Nybegynder
12. november 2003 - 15:15 #6
Du er for hurtig Erik ;-)
Avatar billede cool_casper Nybegynder
12. november 2003 - 15:17 #7
:D - hm.. jow, det kunne godt være derfor.. Jeg har smidt en "If NOT tblUsers("foedselsdag") = "" then" på nu.. :)
Men den udskriver ikke noget.. :\
Avatar billede kovalt Nybegynder
12. november 2003 - 15:20 #8
prøv at sætte en trim på

If NOT Trim(tblUsers("foedselsdag")) = ""
Avatar billede cool_casper Nybegynder
12. november 2003 - 15:22 #9
Har sat Trim på! :)

Det virker nu og koden ser sådan ud...:

'Tjek Fødselsdag!
                                strSQL = "SELECT foedselsdag, name FROM users"
                                Set tblUsers = objConn.Execute(strSQL)
                                If NOT tblUsers.EOF then
                                    Do While NOT tblUsers.EOF
                                        If NOT tblUsers("foedselsdag") = "" then
                                            intFoedMonth = Month(tblUsers("foedselsdag"))
                                            intFoedDay = Day(tblUsers("foedselsdag"))
                                            'Response.Write DateSerial(strYear,intFoedMonth,intFoedDay)
                                            If DateSerial(strYear,intFoedMonth,intFoedDay) = DateSerial(strYear, strMonth, intDayCount) then
                                                strAppDay = strAppDay & "<img src=""/lyngby-drengene/images/flag-dk.gif""> Fødeslsdag: <b>" & UCase(Left(tblUsers("name"),1) & LCase(Right(tblUsers("name"),Len(tblUsers("name"))-1))) & "</b><br>"
                                            End if
                                        End if
                                        tblUsers.Movenext()
                                    Loop
                                End if
                                tblUsers.Close
                                Set tblUsers = Nothing

Erik > Hvis du lige smider et svar...?
Avatar billede erikjacobsen Ekspert
12. november 2003 - 15:31 #10
Prøv evt

    strSQL = "SELECT foedselsdag, name FROM users where foedseldag is not null"
Avatar billede cool_casper Nybegynder
12. november 2003 - 15:37 #11
Takker, sad lige og tænkte på det. Kunne bare ikke finde ud af hvordan det skulle laves... :)

Gad du smide et svar?
Avatar billede erikjacobsen Ekspert
12. november 2003 - 17:04 #12
jo da
Avatar billede cool_casper Nybegynder
12. november 2003 - 17:25 #13
:)
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