Avatar billede riishoj Nybegynder
19. januar 2004 - 17:57 Der er 8 kommentarer og
1 løsning

Virker desværre ikke

Hvad er der galt her?

<%   
       
        Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/nyreservation/skoleweb.mdb")
    Conn.Open DSN
   
    datoStr = UgeTilDato(aar, uge, 1)
datoStr = Month(datoStr) & "-" & Day(datoStr) & "-" & Right(Year(datoStr),2)


        strSQL = "SELECT kontor FROM meddelelse WHERE startdato <= #" & datoStr & "# AND slutdato >= #" & datoStr & "#"

set rs = Conn.Execute(strSQL)
if not (rs.EOF or rs.BOF) then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>"&rs("kontor")&"</font></td>" 
      end if
        Conn.Close
    Set Conn = Nothing
%>   
Desuden vil jeg gerne have indsat en meddelelse hvis recordsettet er tomt.
Avatar billede deeflate Nybegynder
19. januar 2004 - 18:18 #1
Det vil være meget lettere at svare på hvad der er galt, hvis du lige skriver fejlmeddelelsen og peger på linien.


Det andet er let nok:

if not (rs.EOF or rs.BOF) then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>"&rs("kontor")&"</font></td>" 

else

response.Write "Der er ingen poster"

end if
        Conn.Close
    Set Conn = Nothing
%>
Avatar billede riishoj Nybegynder
19. januar 2004 - 18:43 #2
Fejlmeddelelse

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a000d'
Typer stemmer ikke overens: 'UgeTilDato'

Lidt uforståeligt, da det har virket i en anden forbindelse!
Avatar billede deeflate Nybegynder
19. januar 2004 - 18:52 #3
Hvad skal UgeTilDato(aar, uge, 1) forestille at være?
Avatar billede riishoj Nybegynder
19. januar 2004 - 20:20 #4
Jeg har prøvet dette her i stedet for, men det returnerer et tomt recordset selv om startdato=19-01-04 og slutdato=22-01-04. Når jeg udskriver sql'en får jeg

SELECT kontor FROM meddelelse WHERE startdato <= #19-01-04# AND slutdato >= #19-01-04#

og det skulle vel være ok.

<%   
       
        Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/nyreservation/skoleweb.mdb")
    Conn.Open DSN
   
   
 
   
datoStr = Date


        strSQL = "SELECT kontor FROM meddelelse WHERE startdato <= #" & datoStr & "# AND slutdato >= #" & datoStr & "#"

set rs = Conn.Execute(strSQL)

if not (rs.EOF or rs.BOF) then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>"&rs("kontor")&"</font></td>" 
     
      else
      Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>Ingen meddelelser</font></td>" 

      end if
        Conn.Close
    Set Conn = Nothing
%>
Avatar billede deeflate Nybegynder
19. januar 2004 - 21:11 #5
Det er sært, for jeg lavede lige et hurtigt mock-up her, med felterne kontor(type:tekst), startdato(type:dato)(værdi:19-01-2004) og slutdato(type:dato)(værdi:22-01-2004), og det virkede fint.
Og du er sikker på, at startdato og slutdato er af datatypen?

Du behøver forresten ikke din variabel datoStr - dette her giver det samme:

strSQL = "SELECT kontor FROM meddelelse WHERE startdato <= Date() AND slutdato >= Date()"
Avatar billede deeflate Nybegynder
19. januar 2004 - 21:13 #6
"datatypen dato" skulle der jo så have stået.
Avatar billede riishoj Nybegynder
19. januar 2004 - 21:22 #7
Jo, startdato og slutdato er datofelter, men det virker altså ikke hos mig. Det gør derimod dit alternative forslag

strSQL = "SELECT kontor FROM meddelelse WHERE startdato <= Date() AND slutdato >= Date()"

så du har løst mit problem :) Takker - send lige set svar!
Avatar billede riishoj Nybegynder
19. januar 2004 - 21:24 #8
set=et
Avatar billede deeflate Nybegynder
19. januar 2004 - 21:29 #9
Det var da heldigt :)
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