Avatar billede no_doubt Nybegynder
27. marts 2008 - 11:49 Der er 17 kommentarer og
1 løsning

Fejl - error '80020009'

Jeg kan ikke se hvad der er galt her
<%
    Set conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")
    %>
    <%
    curdate = Date
    i = 0

    Do while i < 30
    wday = Weekday(curdate, 2)
   
    d = curdate%>
    <%
    sql = "select * from booking where [dato] = " & d & ""
    Set rs = Conn.Execute(sql)
    if rs.bof AND rs.eof then
    %>
    <tr>
        <td width="150" align="center" style="border: 1px solid #000000"><font face="Arial" size="2"><%if len(Day(d)) = 1 then response.write "0" & Day(d) else response.write Day(d) end if%> / <%if len(Month(d)) = 1 then response.write "0" & Month(d) else response.write Month(d) end if%> - <%=Year(d)%></font></td>
        <td width="25" <% if rs("v1") = true then%>bgcolor="#FF0000" <% end if %> style="border: 1px solid #000000"><% if rs("v1") = false then%><input type="checkbox" name="<%=d%>" value="ON"><% else %>&nbsp;<% end if %></td>
        <td width="25" <% if rs("v2") = true then%>bgcolor="#FF0000" <% end if %> style="border: 1px solid #000000"><% if rs("v2") = false then%><input type="checkbox" name="<%=d%>" value="ON"><% else %>&nbsp;<% end if %></td>
        <td width="25" <% if rs("v3") = true then%>bgcolor="#FF0000" <% end if %> style="border: 1px solid #000000"><% if rs("v3") = false then%><input type="checkbox" name="<%=d%>" value="ON"><% else %>&nbsp;<% end if %></td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
    </tr>
    <%
    end if
    i = i+1
   
    curdate = DateAdd("d", 1, curdate)
    Loop
    %>
</table>
Avatar billede no_doubt Nybegynder
27. marts 2008 - 11:54 #1
Linje 115 er første forsøg på brug af v1
Altså:
<td width="25" <% if rs("v1") = true then%>bgcolor="#FF0000" <% end if %> style="border: 1px solid #000000"><% if rs("v1") = false then%><input type="checkbox" name="<%=d%>" value="ON"><% else %>&nbsp;<% end if %></td>
Avatar billede softspot Forsker
27. marts 2008 - 11:59 #2
Jeg skal lige være helt sikker på hvad det er du vil, for denne linie:

    if rs.bof AND rs.eof then

giver vel ikke meget mening som betingelse for at starte med at bruge et recordset (da du checker om det tomt og hvis det er, så begynder du at læse fra det)...

Du burde vel heller skrive:

    if not rs.eof then

da det med forward only resultater ALDRIG bliver nødvendigt at checke på om du er på BOF (beginning of file) - BOF er den position som ligger lige før den første record og den vil du ikke komme til at stå på med mindre recordsettet er tomt, eller du aktivt flytter tilbage på den (og det kan man ikke med et forward only resultat). Hvis recordsettet er tomt vil EOF også være sat og det er derfor nok at checke på EOF.
Avatar billede softspot Forsker
27. marts 2008 - 12:01 #3
Kommandoen

    Set rs = Conn.Execute(sql)

returnerer altid et resultat med forward only cursor.
Avatar billede no_doubt Nybegynder
27. marts 2008 - 15:40 #4
sidste besked ikke forstået.
med hensyn til if rs.bof... fordi jeg fandt et sted der omtalte at denne fejl kunne løses med den linje
Avatar billede softspot Forsker
27. marts 2008 - 15:48 #5
Sidste besked var også mere en information til at underbygge den første, så den er ikke vigtigere end som så...

Har du prøvet det jeg skriver i den første besked? Og virker det så?
Avatar billede no_doubt Nybegynder
27. marts 2008 - 16:10 #6
Næ den melder bare ingen fejl nu, men den BURDE udskrive datoerne...
Avatar billede no_doubt Nybegynder
27. marts 2008 - 16:10 #7
Avatar billede softspot Forsker
27. marts 2008 - 16:25 #8
Men det at du fik fejl før, vidner jo om at din forespørgsel ikke giver noget resultat, så det kan være du skal prøve at kontrollere om din forespørgsel er god nok...
Avatar billede softspot Forsker
27. marts 2008 - 16:27 #9
Prøv evt. at benytte denne SQL:

    sql = "select * from booking where [dato] = #" & year(d) & "-" & month(d) & "-" & day(d) & "#"
Avatar billede no_doubt Nybegynder
27. marts 2008 - 16:36 #10
jeg TROR at sql'en i forvej er ok...
Avatar billede no_doubt Nybegynder
27. marts 2008 - 16:40 #11
se siden nu..

så er det bare at jeg IKKE får alle dagene udskrevet.
Avatar billede softspot Forsker
27. marts 2008 - 16:56 #12
OK, så det vil sige at din SQL IKKE var i orden eller hvad...? ;-)

Anyway! Det er lidt svært for mig at gennemskue hvad der skal ske, da jeg ikke aner hvilke data du baserer udtrækket på. For mig at se fungerer det for de dato der rent faktisk findes data for...

Hvis du vil have udskrevet en række for de dage hvor der ikke er data, så skal du jo lave en else-del til din if not rs.eof then, for ellers sker der jo ikke noget i disse tilfælde... vel.
Avatar billede no_doubt Nybegynder
27. marts 2008 - 16:58 #13
hvordan dælen skal den se ud...altså else delen...for at der kommer til at stå

27-03-2008
28-02-2008
osv
Avatar billede no_doubt Nybegynder
27. marts 2008 - 17:00 #14
sådan...:-)
Avatar billede softspot Forsker
27. marts 2008 - 17:02 #15
Jeg forestiller mig noget i sitl med:


    if not rs.eof then
    %>
      <!-- DET DU HAR I FORVEJEN NÅR DER ER DATA FOR EN DATO!!! -->
    <%
    else
    %>
    <tr>
        <td width="150" align="center" style="border: 1px solid #000000"><font face="Arial" size="2"><%if len(Day(d)) = 1 then response.write "0" & Day(d) else response.write Day(d) end if%> / <%if len(Month(d)) = 1 then response.write "0" & Month(d) else response.write Month(d) end if%> - <%=Year(d)%></font></td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
        <td width="25" style="border: 1px solid #000000">&nbsp;</td>
    </tr>
    <%
    end if

og den kunne endda laves mere elegant med en for-løkke... men se lige om dette er hvad du har behov for først.
Avatar billede softspot Forsker
27. marts 2008 - 18:38 #16
Er det så en løst opgave...?
Avatar billede no_doubt Nybegynder
27. marts 2008 - 18:47 #17
Jeps SUPER :-)
Avatar billede softspot Forsker
27. marts 2008 - 21:04 #18
Tak for point :)
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