I have some code that creates records in a table
based upon a part number that is manually typed into
a form (newpn). I have a large list of numbers that I need to
be placed into this table by performing the same calculation
on them instead of typing one number at a time into the form.
Below is my code which takes a part number and strips
out all dashes (pn_nodash) and then that incorporates
a look up table and calculates a type of checksum based
upon the contents of the string of the part number.
Is there an easy way to take the part number from a
table and create the whole list at once instead of
one at a time like it is done in the code below?
thanks
based upon a part number that is manually typed into
a form (newpn). I have a large list of numbers that I need to
be placed into this table by performing the same calculation
on them instead of typing one number at a time into the form.
Below is my code which takes a part number and strips
out all dashes (pn_nodash) and then that incorporates
a look up table and calculates a type of checksum based
upon the contents of the string of the part number.
Is there an easy way to take the part number from a
table and create the whole list at once instead of
one at a time like it is done in the code below?
thanks
Code:
Dim x As Integer
Dim y As Integer
Dim HIBC As String
Dim partnum As String
Dim totals As Integer
Dim slen As Integer
Dim digit As String
Dim HIBCvals(43) As String
Dim remaindr As Integer
Dim pn_nodash As String
Dim varX As Variant
HIBCvals(0) = "0"
HIBCvals(1) = "1"
HIBCvals(2) = "2"
HIBCvals(3) = "3"
HIBCvals(4) = "4"
HIBCvals(5) = "5"
HIBCvals(6) = "6"
HIBCvals(7) = "7"
HIBCvals(8) = "8"
HIBCvals(9) = "9"
HIBCvals(10) = "A"
HIBCvals(11) = "B"
HIBCvals(12) = "C"
HIBCvals(13) = "D"
HIBCvals(14) = "E"
HIBCvals(15) = "F"
HIBCvals(16) = "G"
HIBCvals(17) = "H"
HIBCvals(18) = "I"
HIBCvals(19) = "J"
HIBCvals(20) = "K"
HIBCvals(21) = "L"
HIBCvals(22) = "M"
HIBCvals(23) = "N"
HIBCvals(24) = "O"
HIBCvals(25) = "P"
HIBCvals(26) = "Q"
HIBCvals(27) = "R"
HIBCvals(28) = "S"
HIBCvals(29) = "T"
HIBCvals(30) = "U"
HIBCvals(31) = "V"
HIBCvals(32) = "W"
HIBCvals(33) = "X"
HIBCvals(34) = "Y"
HIBCvals(35) = "Z"
HIBCvals(36) = "-"
HIBCvals(37) = "."
HIBCvals(38) = " "
HIBCvals(39) = "$"
HIBCvals(40) = "/"
HIBCvals(41) = "+"
HIBCvals(42) = "%"
pn_nodash = Replace(newpn, "-", "")
Me.nodash = pn_nodash
totals = 78 ' 78 = +m258
slen = Len(pn_nodash)
For x = 1 To slen Step 1
digit = Mid(pn_nodash, x, 1)
For y = 0 To 42 Step 1
If HIBCvals(y) = digit Then
totals = totals + y
y = 42
End If
Next y
Next x
remaindr = totals Mod 43
digit = HIBCvals(remaindr)
HIBC = "+M258" & pn_nodash & "0" & digit