04-29-2009, 12:03 PM | #1 |
The Mark of Excellence
Drives: 2010 ABM 1SS RS LS3 Join Date: Jan 2009
Location: Smallest State in the Union
Posts: 8,690
|
VIN decoding, Check Digit Help
I just searched for VIN decoding and found some very good information. What I was not able to locate was how the check digit works or how to decode or figure what it means. Anybody have this info?
__________________
BMR, CAI, DynoMax, Elite Eng., Hurst, Jannetty, Clear Image Headers & Hi Flow cats, Jet Hot, LSR, TSW, VMax, Vredestein |
04-29-2009, 01:02 PM | #2 |
Drives: 2010 SS RS, 1976 Type LT Join Date: Sep 2008
Location: Jamestown, OH (East of Dayton)
Posts: 1,275
|
Can you read VBA? If so, I can PM you a function that returns the checksum digit.
1 - Each character of the VIN must be translated to a number except for the 9th character. 2 - Each number from 1 above is multiplied by a weight factor for each position of the VIN. 3 - The values from 2 above are summed. 4 - The value from 3 is divided by 11 5 - The modulus from 4 is the checksum character unless it results in a 10 in which case X is used. |
04-29-2009, 03:05 PM | #3 |
The Mark of Excellence
Drives: 2010 ABM 1SS RS LS3 Join Date: Jan 2009
Location: Smallest State in the Union
Posts: 8,690
|
Can I read VBA? I am lucky to be able to have a picture of my SS in my sig. What the heck is VBA?
__________________
BMR, CAI, DynoMax, Elite Eng., Hurst, Jannetty, Clear Image Headers & Hi Flow cats, Jet Hot, LSR, TSW, VMax, Vredestein |
04-29-2009, 03:23 PM | #4 | |
Drives: 2010 SS RS, 1976 Type LT Join Date: Sep 2008
Location: Jamestown, OH (East of Dayton)
Posts: 1,275
|
Quote:
Code:
'==================================================================================================== ' PURPOSE: Calculate checksum chacter 9 of VIN '==================================================================================================== Function VIN_Checksum(strVIN As String) As String 10 On Error GoTo ErrorTrap Dim n As Integer Dim int_VINChar As Integer Dim lng_VINCheckSum As Long 20 lng_VINCheckSum = 0 30 For n = 1 To Len(strVIN) ' 1 - Translate each VIN character to a number 40 Select Case Mid(strVIN, n, 1) Case "0" 50 int_VINChar = 0 60 Case "1" 70 int_VINChar = 1 80 Case "2" 90 int_VINChar = 2 100 Case "3" 110 int_VINChar = 3 120 Case "4" 130 int_VINChar = 4 140 Case "5" 150 int_VINChar = 5 160 Case "6" 170 int_VINChar = 6 180 Case "7" 190 int_VINChar = 7 200 Case "8" 210 int_VINChar = 8 220 Case "9" 230 int_VINChar = 9 240 Case "A" 250 int_VINChar = 1 260 Case "B" 270 int_VINChar = 2 280 Case "C" 290 int_VINChar = 3 300 Case "D" 310 int_VINChar = 4 320 Case "E" 330 int_VINChar = 5 340 Case "F" 350 int_VINChar = 6 360 Case "G" 370 int_VINChar = 7 380 Case "H" 390 int_VINChar = 8 400 Case "J" 410 int_VINChar = 1 420 Case "K" 430 int_VINChar = 2 440 Case "L" 450 int_VINChar = 3 460 Case "M" 470 int_VINChar = 4 480 Case "N" 490 int_VINChar = 5 500 Case "P" 510 int_VINChar = 7 520 Case "R" 530 int_VINChar = 9 540 Case "S" 550 int_VINChar = 2 560 Case "T" 570 int_VINChar = 3 580 Case "U" 590 int_VINChar = 4 600 Case "V" 610 int_VINChar = 5 620 Case "W" 630 int_VINChar = 6 640 Case "X" 650 int_VINChar = 7 660 Case "Y" 670 int_VINChar = 8 680 Case "Z" 690 int_VINChar = 9 700 End Select ' 2 - Multiply number from 1 by a weight factor 710 Select Case n Case 1 720 int_VINChar = int_VINChar * 8 730 Case 2 740 int_VINChar = int_VINChar * 7 750 Case 3 760 int_VINChar = int_VINChar * 6 770 Case 4 780 int_VINChar = int_VINChar * 5 790 Case 5 800 int_VINChar = int_VINChar * 4 810 Case 6 820 int_VINChar = int_VINChar * 3 830 Case 7 840 int_VINChar = int_VINChar * 2 850 Case 8 860 int_VINChar = int_VINChar * 10 870 Case 9 880 int_VINChar = int_VINChar * 0 890 Case 10 900 int_VINChar = int_VINChar * 9 910 Case 11 920 int_VINChar = int_VINChar * 8 930 Case 12 940 int_VINChar = int_VINChar * 7 950 Case 13 960 int_VINChar = int_VINChar * 6 970 Case 14 980 int_VINChar = int_VINChar * 5 990 Case 15 1000 int_VINChar = int_VINChar * 4 1010 Case 16 1020 int_VINChar = int_VINChar * 3 1030 Case 17 1040 int_VINChar = int_VINChar * 2 1050 End Select ' 3 - Sum all the multiplied values from above 1060 lng_VINCheckSum = lng_VINCheckSum + int_VINChar 1070 Next n ' 4 - Divide the sum from by 11 and get the remainder 1080 lng_VINCheckSum = lng_VINCheckSum Mod 11 ' 5 - Convert the remainder to text and return a value to the calling function 1090 If lng_VINCheckSum = 10 Then 1100 VIN_Checksum = "X" 1110 Else 1120 VIN_Checksum = CStr(lng_VINCheckSum) 1130 End If 1140 Exit Function ErrorTrap: 1150 mstr_SubProcedure = "VIN_Checksum" 1160 Log_Message 1, "ERROR", mstr_SubProcedure & " line: " & Erl & "; Error: " & Err.Number & " " & Err.Description End Function ' Function VIN_Checksum(strVIN As String) As String |
|
04-29-2009, 03:43 PM | #5 |
Geek
Drives: IOM 2010 Camaro 2SS Join Date: Oct 2008
Location: Orlando
Posts: 4,452
|
Basically, it's used to verify the VIN to see if there was an error in it. If one of the digits were mistakenly copied down, the VIN will (most likely) have an invalid check digit. To Joe Schmo, it's pretty useless. But to anyone writing a program to do something with VINs, it's a bit complex but extremely cool.
|
04-29-2009, 03:51 PM | #6 |
The Mark of Excellence
Drives: 2010 ABM 1SS RS LS3 Join Date: Jan 2009
Location: Smallest State in the Union
Posts: 8,690
|
Thanks, that answered my question, but it's way over my head. My check digit will be known when the car is produced.
__________________
BMR, CAI, DynoMax, Elite Eng., Hurst, Jannetty, Clear Image Headers & Hi Flow cats, Jet Hot, LSR, TSW, VMax, Vredestein |
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Dealer Worried about Pre-Approved Loan Check (PenFed) | Embalmer | Camaro Price | Ordering | Tracking | Dealers Discussions | 36 | 03-25-2015 11:09 AM |
Tracking All Currently Known US VIN and Window Stickers - Order Tracking Thread | UCF w00t | Camaro Price | Ordering | Tracking | Dealers Discussions | 4242 | 02-17-2014 08:57 PM |
VIN Decoding | UA488Fitter | 5th Gen Camaro SS LS LT General Discussions | 63 | 06-02-2013 10:17 AM |
Decoding the VIN | VictoryRed08 | 5th Gen Camaro SS LS LT General Discussions | 1 | 03-07-2009 11:16 AM |
Voice Your Comments/Suggestions/Input for Focus Group on 2010 Camaro | Mr. Wyndham | 5th Gen Camaro SS LS LT General Discussions | 236 | 04-22-2008 12:43 AM |