När jag kommer till den röda for-loopen i exekvertingen finns ingen data i ArrSubTotal-arrayen. Hur kan det komma sig?
If adoRs.EOF Then
Response.Write "No Records.."
Else
Dim TmpVar,Counter,i,DbData: DbData = adoRs.GetRows()
For i = 0 To UBound(DbData,2)
Counter = Int(Counter) + Int(DbData(0,i))
If TmpVar <> DbData(1,i) Then
TmpVar = DbData(1,i)
If Int(i) > 0 Then
ReDim ArrSubTotal(x,1)
ArrSubTotal(x,0) = DbData(1,i-1)
ArrSubTotal(x,1) = Int(Counter) - Int(DbData(0,i))
x = x + 1: Counter = Int(DbData(0,i))
End If
End If
Next
End If
[red] For i = 0 To UBound(ArrSubTotal)
For x = 0 To UBound(ArrSubTotal)
If ArrSubTotal(i,0) = ArrSubTotal(x,0) Then
ReDim ArrSorted(i,1)
ArrSorted(i,0) = ArrSubTotal(x,0)
ArrSorted(i,1) = Int(ArrSorted(i,1)) + Int(ArrSubTotal(x,1))
End If
Next
Next[/red]
Dim Total
For i = 0 To UBound(ArrSorted)
Total = Total + ArrSorted(i,1)
Next
For i = 0 To UBound(ArrSorted)
Response.Write ArrSorted(i,0) & " " & ArrSorted(i,1) & " " & Int(ArrSorted(i,1)) / Total & "%<br/>"
Next
Jag förstår inte vad det är som händer..
Om jag använder mig av ,2 så säger min utskrift att det finns blott 2 poster och det skall vara 314. använder jag inte ,2 så säger utskriften att det är 314 men det finns ingen data i arrayen.
Även om jag skriver ut Arrayen statiskt så är den tom
Response.Write ArrSubTotal(0,0)
Hela koden:
<table border = '1px'>
<%
Dim y,x: x = 0
For y = 0 To 5
Dim adoCn: Set adoCn = CreateObject("ADODB.Connection")
With adoCn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = _
"Data Source=\\hsandmaster\sid\orders\"&y&".xls;" & _
"Extended Properties=Excel 8.0;"
.Open
End With
Dim strQuery,adoRs: Set adoRs = CreateObject("ADODB.Recordset")
strQuery = "SELECT [Antal],[Erbjudande-namn] FROM [Orderfil UTAN Bredband 3735 200$] ORDER BY [Erbjudande-namn]"
With adoRs
Set .ActiveConnection = adoCn
.Open strQuery
End With
If adoRs.EOF Then
Response.Write "No Records.."
Else
Dim TmpVar,Counter,i,DbData: DbData = adoRs.GetRows()
For i = 0 To UBound(DbData,2)
Counter = Int(Counter) + Int(DbData(0,i))
If TmpVar <> DbData(1,i) Then
TmpVar = DbData(1,i)
If Int(i) > 0 Then
ReDim ArrSubTotal(x,1)
ArrSubTotal(x,0) = DbData(1,i-1)
ArrSubTotal(x,1) = Int(Counter) - Int(DbData(0,i))
x = x + 1: Counter = Int(DbData(0,i))
End If
End If
Next
End If
Next
Dim Total
For i = 0 To UBound(ArrSubTotal)
Response.Write ArrSubTotal(i,0)&"<br/>"
For x = 0 To UBound(ArrSubTotal)
If ArrSubTotal(i,0) = ArrSubTotal(x,0) Then
ReDim ArrSorted(i,1)
ArrSorted(i,0) = ArrSubTotal(x,0)
ArrSorted(i,1) = Int(ArrSorted(i,1)) + Int(ArrSubTotal(x,1))
Total = Total + Int(ArrSubTotal(x,1))
End If
Next
Next
' For i = 0 To UBound(ArrSorted,2)
' Response.Write ArrSorted(i,0) & " " & ArrSorted(i,1) & " " & Int(ArrSorted(i,1)) / Total & "%<br/>"
' Next
%>
</table>