Code 39 barcodes in SQL Server Reporting Services with checksum

Find a free Code 39 barcode font (not all of them work well!). I tried this one; http://www.barcoderesource.com/download.html

Edit your report, go to Report > Report Properties > Code. Enter the checksum calculation code;

Const C39CharSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
Public Function Code39(C39 As String) As String
  Dim i as Integer
  Dim total as String
  For i = 1 To Len(C39)
    total = InStr(C39CharSet, Mid(C39, i, 1)) - 1 + total
  Next i
  Code39= "*" & C39 & Mid$(C39CharSet, (total Mod 43 + 1), 1) & "*"
End Function

In your report, use the code as follows;

=Code.Code39(Fields!InvoiceID.Value.ToString())

1234 for example returns *1234A*.

Please note that Reporting Services does not embed the fonts in PDF exports, so make sure you have the font installed on all clients! You could use similar code for Industrial 2of5 or Postnet barcodes.