Skip to main content

Search

Search

Custom Modulo 11 check digit script

Comments

2 comments

  • Avatar
    Peter Thane

    Other than adjusting the second replace command to Z and not X and linking to the value as a Named field your code worked for me and gave a result of 2

     

    Is the data in your QR code from variable sources and so consists of multiple substrings? In which case you may need to add a extra field that is an Object Value and linked to the Human Readable or else reference and concatenate the substrings in your VB first before calculating the check digit

     

     

    1
  • Avatar
    Bartłomiej Orlak

    Hi, thanks for comment,

    Problem was with proper connection of Object Value with my script. Knowing that code works and problem is somwhere else helped me a lot. 

    Big thanks.

    Final version of code:

    Value = Format.Objects("Modulo11").Value

    Value = Replace(Value, "X", "7")
    Value = Replace(Value, "Z", "9")

     

    Value1 = Mid(Value, 1, 1)
    Value2 = Mid(Value, 2, 1)
    Value3 = Mid(Value, 3, 1)
    Value4 = Mid(Value, 4, 1)
    Value5 = Mid(Value, 5, 1)
    Value6 = Mid(Value, 6, 1)
    Value7 = Mid(Value, 7, 1)
    Value8 = Mid(Value, 8, 1)
    Value9 = Mid(Value, 9, 1)
    Value10 = Mid(Value, 10, 1)
    Value11 = Mid(Value, 11, 1)
    Value12 = Mid(Value, 12, 1)
    Value13 = Mid(Value, 13, 1)
    Value14 = Mid(Value, 14, 1)
    Value15 = Mid(Value, 15, 1)
    Value16 = Mid(Value, 16, 1)
    Value17 = Mid(Value, 17, 1)
    Value18 = Mid(Value, 18, 1)
    Value19 = Mid(Value, 19, 1)
    Value20 = Mid(Value, 20, 1)
    Value21 = Mid(Value, 21, 1)
    Value22 = Mid(Value, 22, 1)
    Value23 = Mid(Value, 23, 1)
    Value24 = Mid(Value, 24, 1)

    Value25 = Mid(Value, 25, 1)

     

    Value1 = Value1 * 2
    Value2 = Value2 * 9
    Value3 = Value3 * 8
    Value4 = Value4 * 7
    Value5 = Value5 * 6
    Value6 = Value6 * 5
    Value7 = Value7 * 4
    Value8 = Value8 * 3
    Value9 = Value9 * 2
    Value10 = Value10 * 9
    Value11 = Value11 * 8
    Value12 = Value12 * 7
    Value13 = Value13 * 6
    Value14 = Value14 * 5
    Value15 = Value15 * 4
    Value16 = Value16 * 3
    Value17 = Value17 * 2
    Value18 = Value18 * 9
    Value19 = Value19 * 8
    Value20 = Value20 * 7
    Value21 = Value21 * 6
    Value22 = Value22 * 5
    Value23 = Value23 * 4
    Value24 = Value24 * 3
    Value25 = Value25 * 2

     

    Value = Value1 + Value2 + Value3 + Value4 + Value5 + Value6 + Value7 + Value8 + Value9 + Value10 + Value11 + Value12 + Value13 + Value14 + Value15 + Value16 + Value17 + Value18 + Value19 + Value20 + Value21 + Value22 + Value23 + Value24 + Value25
    Value = Value Mod 11

    If Value = 10 then Value = "X"

    0

Please sign in to leave a comment.