Barcoding in Microsoft Access


Creating barcodes in Microsoft Access can be a relatively easy task with IDAutomation products. IDAutomation has easy-to-use barcode plug-ins, macros and barcode fonts. The information provided here was created with the assumption that the user has a basic understanding of barcoding, otherwise please review IDAutomation’s Barcoding for Beginners.


The Native Barcode Generator for Access enables barcode generation for many popular 1D and 2D barcode types including QR Code, Data Matrix, PDF417, Code 128, ITF and Code 39.

Barcode Fonts may also be used in Access with VBA Macros.


If there is a need to create barcode labels out of an Access database, the Barcode Label Software application can link to Microsoft Access columns as a data source for a text or barcode object, which allows printing of labels from data in Access.

Laptop barcode example

Using the Native Barcode Generator for Access:

The Native Barcode Generator for Microsoft Access enables dynamic barcoding capability to Microsoft Access Forms and Reports without the installation of additional fonts or other components. Once installed, the product remains embedded in the database, even when distributed. Complete VBA source code is provided with purchase. Supported symbologies include Code 3 of 9, Code 128, GS1-128, MSI, ITF, DotCode, Data Matrix, QR Code and PDF417. Data Matrix and QR Code in this product support UTF-8 encoding; QR Code supports the Swill QR Bill and TLV Base64.

Using the  
ActiveX Plugin:

NOTE:  ActiveX Controls are a legacy technology and only work only in older versions of Access 2010 and prior. To support current versions of Access, IDAutomation suggests the Native Barcode Generator for Access or the Barcode Fonts with VBA Macros.

For users of Access 2010 and prior: After purchasing or downloading the Barcode Active Control plug-in, which is called the ActiveX Control, it can be dragged, dropped and resized it on a form such as a report. To bind the control to a data source, enter the table and field or formula in the control source field; do not just enter the field.

In Design Mode of a Microsoft Access report, choose Insert – ActiveX control. Select the installed control starting with “IDAutomation”, drop it on the form and resize the control as necessary. To change the properties of the control, such as barcode height and symbology type, right click on the control and choose properties.  The proper barcode will show up after the report is saved and run. The barcode will be created from the text data in the control source field.

ActiveX Control Example

Using Barcode Fonts in Access:

Implementing barcode solutions with IDAutomation fonts provides a high level of scalability with operating system, application and printer independence. 

It should be noted that if the client is not a technical user or programmer, use the self-checking barcode fonts. Self-checking fonts (such as Code 39) have the checking code built-in so that it is not necessary to calculate check characters. Self-checking fonts are easy to use in Access as well as other applications and can be entered directly from the keyboard. All barcodes require start and stop characters and must be included in the barcode. Without the start and stop character in the barcode, the scanner does not know where the barcode starts or ends.

For example, to create a barcode that encodes the data “1234ABCD” with the Code 39 Font:

1. Select the font from the list of fonts in the application.
2. Type the start character, in this case it is “!” .
3. Type the data, in this case it is “1234ABCD” .
4. Type the stop character, in this case it is “!”; the data string at this point should be !1234ABCD! 

Then change the font back to the default font of the document so other text typed in will be human readable.

Automating the printing of self-checking fonts for an Access report is easy, just make sure the start and stop characters appear directly before and after the data in the barcode. For example, to print the Code 39 Fonts from a MS Access report, use =(“!” & [Table.Field] & “!”) in the control source field where Table.Field points to the table and field that contains the data to encode. The following Microsoft® Access formula places a tab function (in Extended Barcode Code 39) between fields:
=(“!”&[DataField1] & “$I” & [DataField2] & “!”)

Below is an example of placing the above formula in a text field on a report in Microsoft® Access. When placing formulas in the control source field, be sure to specify the table and field together as in this example.

Concatenate fields in the control source.

Barcode symbologies such as Code 128 and UPC/EAN, require special formatting so that the data, when the barcode font is applied, will be scannable. To use fonts other than the self-checking versions, please refer to IDAutomation’s Microsoft Office VBA Macro site. Over 30 royalty free font encoders, macros and plug-ins are provided to complete this automatically.

To see a list of all fonts offered, view IDAutomation’s Barcode Font Index.