webForumDet fria alternativet

svårt att ändra bakgrundsfärger i scriptet

ASP

15 svar · 246 visningar · startad av timedia

Medlem sedan maj 2001420 inlägg
Frågan#1

Efter varje stad ska första raden ha bakgrundsfärg. Nästa rad ingen o.s.v. Har sökt och fått många träffar på 'varannan', men kan inte riktigt se hur jag ska gå tillväga? Någon som kan visa?

	  <% Set RS = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * from Foretag WHERE Konferans <>'' ORDER BY Stad "

pk = ""
RS.Open Visa, Connect
Do While Not rs.EOF
      if  pk <> rs("stad") then
          pk = rs("stad")
          response.write "<tr><td width='42'>&nbsp;</td><td width='230' align='left' valign='middle'><span class='style11'>" & pk & "</span></td><td width='144'>&nbsp;</td><td width='126'>&nbsp;</td><td width='118'>&nbsp;</td></tr>"
	  end if
      response.write "<tr align='left' valign='top'><td>&nbsp;</td><td background='bilder/gra.gif'><p><strong>"&RS("Fnamn")&"</strong><br>"&RS("Gata")&"<br>"&RS("Tel")&"<br></p></td><td background='bilder/gra.gif'>"&RS("Spec")&"</td><td background='bilder/gra.gif'>"&RS("Arr")&"</td><td background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr><tr align='left' valign='top'><td>&nbsp;</td><td colspan='4' valign='top' background='bilder/gra.gif' class='style10'>&Ouml;ppettider: </td></tr>"
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.Close
%>
Medlem sedan maj 2001420 inlägg
#2

Följdfråga

I nedanstående försöker jag visa en bild på en bokstav(a.gif, b.gif, c.gif osv) Varför får jag Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

<% 	  Set RS = Server.CreateObject("ADODB.Recordset")
		  Visa = "SELECT * FROM Artister ORDER BY Grupp "

RS.Open Visa, Connect
pk = ""
Do While Not rs.EOF
      if  pk <> left(RS("grupp"), 1) then
          pk = left(RS("grupp"), 1)
          response.write "<tr><td>&nbsp;</td><td height='0' align='left' valign='top'><img src='bilder/" & pk & ".gif' border='0'></td><td height='0' align='left' valign='top'>&nbsp;</td><td height='0' align='left' valign='top'>&nbsp;</td></tr>"
      end if
      response.write "<tr><td>&nbsp;</td><td height='0' align='left' valign='top' background='bilder/gra.gif'><strong>"&RS("Grupp")&"</td><td height='0' align='left' valign='top' background='bilder/gra.gif'>"&RS("Info")&"</td><td height='0' align='left' valign='top' background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr>"
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.close
%>
Medlem sedan maj 2001420 inlägg
#3

Ingen som vet?

Medlem sedan feb. 20011 198 inlägg
#4

Re: svårt att ändra bakgrundsfärger i scriptet

timedia skrev:

Efter varje stad ska första raden ha bakgrundsfärg. Nästa rad ingen o.s.v. Har sökt och fått många träffar på 'varannan', men kan inte riktigt se hur jag ska gå tillväga? Någon som kan visa?

	  <% Set RS = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * from Foretag WHERE Konferans <>'' ORDER BY Stad "

pk = ""
RS.Open Visa, Connect
Do While Not rs.EOF
      if  pk <> rs("stad") then
          pk = rs("stad")
          response.write "<tr><td width='42'>&nbsp;</td><td width='230' align='left' valign='middle'><span class='style11'>" & pk & "</span></td><td width='144'>&nbsp;</td><td width='126'>&nbsp;</td><td width='118'>&nbsp;</td></tr>"
	  end if
      response.write "<tr align='left' valign='top'><td>&nbsp;</td><td background='bilder/gra.gif'><p><strong>"&RS("Fnamn")&"</strong><br>"&RS("Gata")&"<br>"&RS("Tel")&"<br></p></td><td background='bilder/gra.gif'>"&RS("Spec")&"</td><td background='bilder/gra.gif'>"&RS("Arr")&"</td><td background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr><tr align='left' valign='top'><td>&nbsp;</td><td colspan='4' valign='top' background='bilder/gra.gif' class='style10'>&Ouml;ppettider: </td></tr>"
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.Close
%>
	  <% Set RS = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * from Foretag WHERE Konferans <>'' ORDER BY Stad "

pk = ""
cnt = 0
RS.Open Visa, Connect
Do While Not rs.EOF
      if  pk <> rs("stad") then
          pk = rs("stad")
          cnt=0
          response.write "<tr><td width='42'>&nbsp;</td><td width='230' align='left' valign='middle'><span class='style11'>" & pk & "</span></td><td width='144'>&nbsp;</td><td width='126'>&nbsp;</td><td width='118'>&nbsp;</td></tr>"
	  end if
if cnt = 0 then
      response.write "<tr align='left' valign='top'><td>&nbsp;</td><td background='bilder/gra.gif'><p><strong>"&RS("Fnamn")&"</strong><br>"&RS("Gata")&"<br>"&RS("Tel")&"<br></p></td><td background='bilder/gra.gif'>"&RS("Spec")&"</td><td background='bilder/gra.gif'>"&RS("Arr")&"</td><td background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr><tr align='left' valign='top'><td>&nbsp;</td><td colspan='4' valign='top' background='bilder/gra.gif' class='style10'>&Ouml;ppettider: </td></tr>"
else
      response.write "<tr align='left' valign='top'><td>&nbsp;</td><td <p><strong>"&RS("Fnamn")&"</strong><br>"&RS("Gata")&"<br>"&RS("Tel")&"<br></p></td><td>"&RS("Spec")&"</td><td>"&RS("Arr")&"</td><td>"&RS("Ovrigt")&"</td></tr><tr align='left' valign='top'><td>&nbsp;</td><td colspan='4' valign='top' class='style10'>&Ouml;ppettider: </td></tr>"
end if
cnt = cnt +1
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.Close
%>

Såhär kanske.

Medlem sedan feb. 20011 198 inlägg
#5

Re: Följdfråga

timedia skrev:

I nedanstående försöker jag visa en bild på en bokstav(a.gif, b.gif, c.gif osv) Varför får jag Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

<% 	  Set RS = Server.CreateObject("ADODB.Recordset")
		  Visa = "SELECT * FROM Artister ORDER BY Grupp "

RS.Open Visa, Connect
pk = ""
Do While Not rs.EOF
      if  pk <> left(RS("grupp"), 1) then
          pk = left(RS("grupp"), 1)
          response.write "<tr><td>&nbsp;</td><td height='0' align='left' valign='top'><img src='bilder/" & pk & ".gif' border='0'></td><td height='0' align='left' valign='top'>&nbsp;</td><td height='0' align='left' valign='top'>&nbsp;</td></tr>"
      end if
      response.write "<tr><td>&nbsp;</td><td height='0' align='left' valign='top' background='bilder/gra.gif'><strong>"&RS("Grupp")&"</td><td height='0' align='left' valign='top' background='bilder/gra.gif'>"&RS("Info")&"</td><td height='0' align='left' valign='top' background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr>"
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.close
%>

SKulle kunna vara här left(RS("grupp"), 1) om grupp är null

Medlem sedan maj 2001420 inlägg
#6

Jättebra Yohpops! :) Bakgrundsfärgerna funkar nu, men jag förstår inte ditt senaste inlägg? Menar du att jag får fel om jag inte har nån grupp som börjar på en viss bokstav?

Medlem sedan feb. 20011 198 inlägg
#7

Nej men om värde i rs("grupp") är tomt så kan man inte hämta första bokstaven i värdet.

Du borde kunna se vilken rad felet uppstår på.

Medlem sedan maj 2001420 inlägg
#8

Felet uppstår på rad 140 vilket är: RS.Open Visa, Connect
Har ett antal grupper som ligger i kolumnen 'grupp'

Medlem sedan feb. 20011 198 inlägg
#9

Alltså var det inte det jag trodde.
Skapar du Connect på samma sätt i båda frågorna?

Medlem sedan maj 2001420 inlägg
#10

Ja, det är 2 olika sidor - och kan inte riktigt se att det skulle krocka?

Medlem sedan feb. 20011 198 inlägg
#11

De krockar nog inte men de verkar som att den ena funkar och den andra inte.

Visa koden som skapar dem.

Medlem sedan maj 2001420 inlägg
#12

Denna funkar:

 <% Set RS = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * from Foretag WHERE Konferans <>'' ORDER BY Stad "

pk = ""
cnt = 0
RS.Open Visa, Connect
Do While Not rs.EOF
      if  pk <> rs("stad") then
          pk = rs("stad")
          cnt=0
          response.write "<tr><td width='42'> </td><td width='230' align='left' valign='middle'><span class='style11'>" & pk & "</span></td><td width='144'> </td><td width='126'> </td><td width='118'> </td></tr>"
	  end if
if cnt = 0 then
      response.write "<tr align='left' valign='top'><td> </td><td background='bilder/gra.gif'><p><strong>"&RS("Fnamn")&"</strong><br>"&RS("Gata")&"<br>"&RS("Tel")&"<br></p></td><td background='bilder/gra.gif'>"&RS("Spec")&"</td><td background='bilder/gra.gif'>"&RS("Arr")&"</td><td background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr><tr align='left' valign='top'><td></td><td colspan='4' valign='top' background='bilder/gra.gif' class='style10'>Öppettider: </td></tr>"
else
      response.write "<tr align='left' valign='top'><td> </td><td <p><strong>"&RS("Fnamn")&"</strong><br>"&RS("Gata")&"<br>"&RS("Tel")&"<br></p></td><td>"&RS("Spec")&"</td><td>"&RS("Arr")&"</td><td>"&RS("Ovrigt")&"</td></tr><tr align='left' valign='top'><td></td><td colspan='4' valign='top' class='style10'>Öppettider: </td></tr>"
end if
cnt = cnt +1
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.Close
%>

Denna funkar INTE:

<% 
		  
		  Set RS = Server.CreateObject("ADODB.Recordset")
		  Visa = "SELECT * FROM Artister ORDER BY Grupp "

RS.Open Visa, Connect
pk = ""
Do While Not rs.EOF
      if  pk <> left(RS("grupp"), 1) then
          pk = left(RS("grupp"), 1)
          response.write "<tr><td>&nbsp;</td><td height='0' align='left' valign='top'><img src='bilder/" & pk & ".gif' border='0'></td><td height='0' align='left' valign='top'>&nbsp;</td><td height='0' align='left' valign='top'>&nbsp;</td></tr>"
      end if
      response.write "<tr><td>&nbsp;</td><td height='0' align='left' valign='top' background='bilder/gra.gif'><strong>"&RS("Grupp")&"</td><td height='0' align='left' valign='top' background='bilder/gra.gif'>"&RS("Info")&"</td><td height='0' align='left' valign='top' background='bilder/gra.gif'>"&RS("Ovrigt")&"</td></tr>"
      rs.Movenext
Loop
RS.Close: Set rs = nothing
Connect.close
%>

Båda använder denna connect:

 Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("..\sys\mindb.mdb") %>
Medlem sedan feb. 20011 198 inlägg
#13

Prova att sätta en cursor också.

RS.Open Visa, Connect, Cursor

http://msdn.microsoft.com/library/en-us/ado270/htm/mdcstcursortypeenum.asp?frame=true

Medlem sedan maj 2001420 inlägg
#14

Ingen skillnad på felmeddelandet när jag försöker med olika cursors..

Medlem sedan feb. 20011 198 inlägg
#15

Det borde inte vara den raden. Prova att ta bort valda delar i koden för att se om det kan fungera.
Ex. kan du ta bort allt inom loopen utom rs.movenext så ser du om det är något annat som är fel.

Medlem sedan maj 2001420 inlägg
#16

Jag borde skjutas! :x
Connection hade försvunnit nånstans på vägen....
Nu funkar det!
Stort tack till Yohpops!

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)