請幫我看看這一個程式那兒錯了(條碼檢核碼的計算)(編號:774)

小弟最近想練習一個小程式用來計算條碼的最後一碼檢核碼其規則如下:
1.將條碼前12碼之偶數位的數值相加乘3
2.奇位數的數值相加
3.把上面的1.和2.的數值相加
4.以10減去3.的總和之個位數字所得之數字即為檢核碼
EX:
條碼4710176011064來作例子,先把最後一碼4去掉共12碼
偶位數為7+0+7+0+1+6=21
21*3=63
奇位數為4+1+1+6+1+0=13
63+13=76
10-6=4故檢核碼為4
我的程式碼如下:
Dim Dsum As Integer '偶數和
Dim Ssum As Integer '奇數和
Dim k As String
Dim i As Integer
Dim Csum As Integer '檢核碼
Dsum = 0
Ssum = 0
For i = 1 To 12
k = Mid(Str(txtCodeStr.Text), i, 1)
  If i Mod 2 <> 0 Then
    Ssum = Ssum + Val(k)
  Else
    Dsum = Dsum + Val(k)
  End If
Next
Csum = 10 - Right(((Dsum * 3) + Ssum), 1)
txtCheckSum.Text = Csum
但是執行之後結果都不對各位先進麻煩指導一下吧滿足我初學者的學習心Thanks^Q^