[quoted text, click to view] Kim wrote:
>> Again, please show us the inputs from say, the first three records,
>> show us what the desired output is supposed to look like from those
>> three pieces of data, and what you are actually getting. Looking at
>> this, combined with your above description, will help us analyze
>> your code and figure out the problem. A picture is worth a thousand
>> words.=20
>=20
> First record:
> input =3D 3295
> output=3D 32955 (ok)
>=20
> second record:
> input=3D 4296
> output=3D 42966 (false, should be 42961)
>=20
> third record:
> input=3D 6297
> output=3D 62976 (false, should be 62970)
OK, I could not use a recordset of course, so I put your inputs into an =
array and ran your code to get your results. I then did this to help you =
see what was going on:
<%
Dim kontrollnummer
Dim raknare
Dim Summa
Dim referens
dim ar, i
Dim faktor
ar=3Darray("3295","4296","6297")
for i =3D 0 to 2
referens =3D ar(i)
faktor =3D 7
Response.Write "<hr><b>" & referens & "</b><br>"
Response.Write "<TABLE><tr><th>raknare</th><th>factor" & _
"</th><th>Summa (pre)</th><th>Summa (post)</th></tr>"
For raknare =3D Len(referens) To 1 Step -1
Response.Write "<tr><td>" & raknare & "</td>"
Response.Write "<td>" & faktor & "</td>"
Response.Write "<td>" & Summa & "</td>"
Summa =3D Summa + Mid(referens, raknare, 1) * faktor
Response.Write "<td>" & Summa & "</td></tr>"
=20
If faktor =3D 7 Then
faktor =3D 3
ElseIf faktor =3D 3 Then
faktor =3D 1
ElseIf faktor =3D 1 Then
faktor =3D 7
End If
Next
Response.Write "</table>"
kontrollnummer =3D Right((10 - (Summa Mod 10)), 1)
Response.Write kontrollnummer & "<BR>"
next
%>
Running this code yields this result:
-------------------------------------------------------------------------=
-------
3295
raknare factor Summa (pre) Summa (post)=20
4 7 35=20
3 3 35 62=20
2 1 62 64=20
1 7 64 85=20
5
-------------------------------------------------------------------------=
-------
4296
raknare factor Summa (pre) Summa (post)=20
4 7 85 127=20
3 3 127 154=20
2 1 154 156=20
1 7 156 184=20
6
-------------------------------------------------------------------------=
-------
6297
raknare factor Summa (pre) Summa (post)=20
4 7 184 233=20
3 3 233 260=20
2 1 260 262=20
1 7 262 304=20
6
As you should see from this, the problem is the failure to initialize =
Summa before each loop. Adding "Summa =3D 0" to the code, right below =
the "faktor=3D7" line yields the correct results:
-------------------------------------------------------------------------=
-------
3295
raknare factor Summa (pre) Summa (post)=20
4 7 0 35=20
3 3 35 62=20
2 1 62 64=20
1 7 64 85=20
5
-------------------------------------------------------------------------=
-------
4296
raknare factor Summa (pre) Summa (post)=20
4 7 0 42=20
3 3 42 69=20
2 1 69 71=20
1 7 71 99=20
1
-------------------------------------------------------------------------=
-------
6297
raknare factor Summa (pre) Summa (post)=20
4 7 0 49=20
3 3 49 76=20
2 1 76 78=20
1 7 78 120=20
0
--=20
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the