Avatar billede cdc Novice
05. november 2007 - 16:04 Der er 8 kommentarer og
1 løsning

Skal ikke ske fejl når der intet er i DB

Når der intet står i DB ønsker jeg bare at det er blankt eller at der står "ingen aktiviteter"

mit script ser således ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("xxxxxx.mdb")
SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_
  "union "&_
  "SELECT top 5 * FROM (select * from  events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) "&_
  "order by aar, maaned, dag"
Set rs = conn.Execute(SQL)
%>

              <tr><%
                bgskift=0
                do while not RS.EOF
                      bgskift=bgskift + 1

                    if bgskift = 2 then
                    bgskift = 0
                end if

                    if bgskift = 0 then
                    color="bgcolor=''"
                    else
                  color="bgcolor='#f2f7fc'"
                end if
              %>
                <td width="20"></td>               
                <td>
                  <table border="0" width="100%" cellspacing="0" cellpadding="2">
                    <tr>
                      <td width="60" <%=Color%> valign="top"><b><% response.write RS("Dag") %>/<% response.write RS("Maaned") %>-<% response.write RS("Aar") %></b></td>
                      <td <%=Color%> valign="top">: <% response.write RS("Beskrivelse") %></td>
                    </tr>
                  </table>
                </td>
              </tr><%
RS.MoveNext
loop
%>
Avatar billede fennec Nybegynder
05. november 2007 - 16:05 #1
Set rs = conn.Execute(SQL)
if rs.eof then
  'Ingen aktivitet
else
  do while not rs.eof
    ...
    ...
    rs.MoveNext
  loop
end if
Avatar billede cdc Novice
05. november 2007 - 16:24 #2
sådan her:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(".mdb")
SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_
  "union "&_
  "SELECT top 5 * FROM (select * from  events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) "&_
  "order by aar, maaned, dag"
Set rs = conn.Execute(SQL)
if rs.eof then
  'Ingen aktivitet
else
  do while not rs.eof
%>

              <tr><%
                bgskift=0
                do while not RS.EOF
                      bgskift=bgskift + 1

                    if bgskift = 2 then
                    bgskift = 0
                end if

                    if bgskift = 0 then
                    color="bgcolor=''"
                    else
                  color="bgcolor='#f2f7fc'"
                end if
              %>
                <td width="20"></td>               
                <td>
                  <table border="0" width="100%" cellspacing="0" cellpadding="2">
                    <tr>
                      <td width="60" <%=Color%> valign="top"><b><% response.write RS("Dag") %>/<% response.write RS("Maaned") %>-<% response.write RS("Aar") %></b></td>
                      <td <%=Color%> valign="top">: <% response.write RS("Beskrivelse") %></td>
                    </tr>
                  </table>
                </td>
              </tr><%
RS.MoveNext
loop
%>
Avatar billede softspot Forsker
05. november 2007 - 16:28 #3
Du skal lige huske end if til sidst :-)
Avatar billede cdc Novice
05. november 2007 - 16:36 #4
sådan her:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(".mdb")
SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_
  "union "&_
  "SELECT top 5 * FROM (select * from  events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) "&_
  "order by aar, maaned, dag"
Set rs = conn.Execute(SQL)
if rs.eof then
  'Ingen aktivitet
else
  do while not rs.eof
end if
%>

              <tr><%
                bgskift=0
                do while not RS.EOF
                      bgskift=bgskift + 1

                    if bgskift = 2 then
                    bgskift = 0
                end if

                    if bgskift = 0 then
                    color="bgcolor=''"
                    else
                  color="bgcolor='#f2f7fc'"
                end if
              %>
                <td width="20"></td>               
                <td>
                  <table border="0" width="100%" cellspacing="0" cellpadding="2">
                    <tr>
                      <td width="60" <%=Color%> valign="top"><b><% response.write RS("Dag") %>/<% response.write RS("Maaned") %>-<% response.write RS("Aar") %></b></td>
                      <td <%=Color%> valign="top">: <% response.write RS("Beskrivelse") %></td>
                    </tr>
                  </table>
                </td>
              </tr><%
RS.MoveNext
loop
%>
Avatar billede softspot Forsker
05. november 2007 - 16:46 #5
nej, sådan her (din løkke skal jo hænge sammen, hvis der er data :-)):

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(".mdb")
SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_
  "union "&_
  "SELECT top 5 * FROM (select * from  events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) "&_
  "order by aar, maaned, dag"
Set rs = conn.Execute(SQL)
if rs.eof then
  'Ingen aktivitet
else
  do while not rs.eof
%>

              <tr><%
                bgskift=0
                do while not RS.EOF
                      bgskift=bgskift + 1

                    if bgskift = 2 then
                    bgskift = 0
                end if

                    if bgskift = 0 then
                    color="bgcolor=''"
                    else
                  color="bgcolor='#f2f7fc'"
                end if
              %>
                <td width="20"></td>               
                <td>
                  <table border="0" width="100%" cellspacing="0" cellpadding="2">
                    <tr>
                      <td width="60" <%=Color%> valign="top"><b><% response.write RS("Dag") %>/<% response.write RS("Maaned") %>-<% response.write RS("Aar") %></b></td>
                      <td <%=Color%> valign="top">: <% response.write RS("Beskrivelse") %></td>
                    </tr>
                  </table>
                </td>
              </tr><%
RS.MoveNext
loop
end if
%>

Husk i øvrigt at bruge din forgrening til noget aktivt, for ellers kan du lige så godt undlade at lave den. Det giver altså ingen mening at lave denne kode:

if rs.eof then
  'Ingen aktivitet
else


...men man må antage at du f.eks. vil give brugeren en besked om at der ikke er data i udtrækket, eller sådan noget (hvilket du bruger denne forgrening til)... :-)
Avatar billede cdc Novice
05. november 2007 - 16:52 #6
Tak for det.

det er en aktivitets kalender til en golfklub, og i vinermånederne er der ikke aktiviteter, så er det at jeg vil have ingen aktivitet i kalender udtrækket
Avatar billede cdc Novice
24. februar 2008 - 11:33 #7
er det nogle der skal have points så jeg kan lukke
Avatar billede softspot Forsker
24. februar 2008 - 16:44 #8
Velbekomme :)
Avatar billede softspot Forsker
28. april 2008 - 11:58 #9
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