Tags:   
		
				asp
				
		
			
		
	
		
		
		
		
				
				
					
					
	
						Hejsa. jeg er igang med at lave et diagram over ordre i kr. pr. mdr. problemet er min select sætning ikke viser de mdr. hvor der ikke har været nogen ordre. så har forsøgt lidt selv
en for løkke der løber fra 1 til 12 
hvis i er ligmed resultatet skal den udskrive et billedet hvor jeg har angivet højden med resultatet, hvis ikke skal den udskrive intet her. jeg bruger getRows funktionen til at få data ud. den melder en fejl der siger Subscript out of range: '11'...
**********FØRSTE KODE STUMP****************
resultat er et array, som rs ligger i. hentes ved hjælp af følgende kode "resultat = rs.getrows()" 
videre...
'udskrivning af rs felt ”1” og resultat ”i”
response.write  resultat(1,i)
************2.KODE STUMP******************'
for i = 1 to 12
%><td height=150 align=center valign=bottom bgcolor="#fffaf0"><%
If i=resultat(1,i) Then   %> 
<a href="<%response.write  resultat(4,i)%>"title="året <%response.write  resultat(3,i)%>"> 
<!-- ganger med 10 for at få en sum til diagram altså højden på billedet-->
<img src="/images/sta.gif" height="<%response.write  resultat(1,i) %>"width=15 border="0"></a>
 
 <%
Else
%>intet her<%
End If
next
						
						
						
						
					
		
				 
					
				
	
					
						7 svar postet i denne tråd vises herunder
						1 indlæg har modtaget i alt 4 karma
					
					
					
				
 
					
			
				
				
					
					
	
						Noget i denne her stil, ret selv småfejl (bruger ikke ASP).
************2.KODE STUMP******************' 
dataIndex = 1;
for i = 1 to 12 
%><td height=150 align=center valign=bottom bgcolor="#fffaf0"><% 
If i=resultat(1,dataIndex) Then %> 
<a href="<%response.write resultat(4,i)%>"title="året <%response.write resultat(3,i)%>"> 
<!-- ganger med 10 for at få en sum til diagram altså højden på billedet--> 
<img src="/images/sta.gif" height="<%response.write resultat(1,i) %>"width=15 border="0"></a> 
<% 
  dataIndex = dataIndex +1
Else 
%>intet her<% 
End If 
next 
************2.KODE STUMP******************' 
Så mangler du bare at teste antallet af resultater, og det bruger du så også i din if ... så du ikke tester i=resultat(1,dataIndex) hvis dataIndex > antalResultater.
Ved ikke lige hvordan man får antal resultater i asp, men det kan vel slås op vil jeg tro.
						
						
						
						
					
		
				 
					
				
					
			
				
	
					
						 
					0
					
						 
					
					
				
 
				
					
					
	
						Hej igen Chris.
Du indexerer ud over de data der findes i dit dataset, i dit forsøg på at finde ud af om der er data.
Altså, hvis du f.eks. har 10 resultater, kunne være månederne (1,2,3,4,6,7,8,9,10,12) har du kun 1-10 i dit data sæt, men du tester også 11 og 12, dvs du når ikke længere end til 11 for resultat 11 findes ikke.
Løsningen er at du har et loop fra 1-12 (som du har det nu) og så bruger du en tæller som du kalder dataIndex som starter med 1, og hver gang der er match mellem resultat(1.dataIndex) og i, viser du data og tæller dataIndex frem med en.
På den måde skulle du ikke komme for langt, med mindre at der slet ingen resultater var, og det må du sp lige teste for inden du går ind i dit loop.
Håber det hjælper lidt.
						
						
						
						
					
		
				 
					
				
					
			
				
	
					
						 
					0
					
						 
					
					
				
 
				
					
					
	
						kunne du komme med et forslag til hvordan det skal gøres?? 
						
						
						
						
					
		
				 
					
				
					
			
				
	
					
						 
					0
					
						 
					
					
				
 
				
					
					
	
						
nope aou of range 8 melder den, der er 6 resultater i db. så forstår ikke lige noget. husk resultat er et array,derfor 0  - 11
dataIndex = 0
for i = 0 to 11
 %><td height=150 align=center valign=bottom bgcolor="#fffaf0"><%
 
 
If i= resultat(1,dataIndex) Then   %> 
<a href="<%response.write  resultat(1,i)%>"title="året <%response.write  resultat(1,i)%>"> 
<!-- ganger med 10 for at få en sum til diagram altså højden på billedet-->
<img src="/images/sta.gif" height="<%response.write  resultat(1,i) %>"width=15 border="0"></a>
   
 <%
dataIndex = dataIndex +1 
Else%> intet her</td>  <%
End If
next
next
						
						
						
						
					
		
				 
					
				
					
			
				
	
					
						 
					0
					
						 
					
					
				
 
				
					
					
	
						 
SVAR PÅ NEDESTÅENDE:
det gør jeg længere oppe med denne sætning   
<%'antal resultater(rækker) der blev returneret
  matches = ubound(resultat, 2)
hvor ville du sætte det ind??
************2.KODE STUMP******************' 
Så mangler du bare at teste antallet af resultater, og det bruger du så også i din if ... så du ikke tester i=resultat(1,dataIndex) hvis dataIndex > antalResultater.
Ved ikke lige hvordan man får antal resultater i asp, men det kan vel slås op vil jeg tro.
 
						
						
						
						
					
		
				 
					
				
					
			
				
	
					
						 
					0
					
						 
					
					
				
 
				
					
					
	
						denne her spytter de første rs ud, men det sidste mangler. 
dataIndex = 0 
for i = 0 to 11
 %><td height=150 align=center valign=bottom bgcolor="#fffaf0"><%
 If dataIndex < matches then
 
	If i+1= resultat(1,dataIndex) Then   %> 
		<a href="<%response.write  resultat(1,i)%>"title="året <%response.write  resultat(1,dataIndex)%>"> 
		<!-- ganger med 10 for at få en sum til diagram altså højden på billedet-->
		<img src="/images/sta.gif" height="<%response.write  resultat(1,dataIndex) %>"width=15 border="0"></a>
   
		 <%
		dataIndex = dataIndex +1 
		Else%> intet her</td>  <%
	End If
Else%> intet her</td>  <%
End If
next
						
						
						
						
					
		
				 
					
				
					
			
				
	
					
						 
					0
					
						 
					
					
				
 
				
					
					
	
						oki tak for hjælpen. fik det selv på plads. så skal jeg bare ha rettet sql sætningen til. da den viser flere resultater end den burde. noget med at den ikke lægge månederne sammen, men vise én ordres total. nå men tak og hop over på sql hvis du vil, har oprettet et indlæg