Native Barcode Generator for Microsoft
Access
Patent Pending
INDEX:
The Native Barcode Generator is intended for MS Access Developers that
wish to easily integrate barcode capability into their databases and applications
without any external dependencies. This product is implemented as a single
VBA Module with complete source code, which allows the developer greater
flexibility in implementation and design without any annoying add-in menus
or license file requirements. Once installed in a database, no other components
or fonts need to be installed to create barcodes; it is the complete barcode
generator that stays with the database, even when distributed. End users
and non-developers may wish to use the
IDAutomation Barcode ActiveX
Controls instead of this product because ActiveX Controls are easier
to implement in Access.
| Compatibility
and Requirements |
| Application Compatibility |
Access 2000 to Access 2007 and above |
| OS Compatibility |
Microsoft Windows 95 to Windows
Vista and above |
| Barcode Symbology Compatibility |
Code 128, Code 39, Codabar, GS1-128, Interleaved
2 of 5, MSI, Postnet, Planet, Intelligent Mail OneCode Confirm,
PDF417 and DataMatrix ECC200. * |
| Minimum System Requirements |
500 MHZ Processor, 128MB RAM,
5 MB Available hard drive space |
| Intended Implementer |
Access Developers; End users
and non-developers may wish to use the
IDAutomation
Barcode ActiveX Controls |
* This package does not support UPCA, UPCE, EAN13 or EAN8 barcodes because
of the required OCR text characters that must appear below this barcode
type. If these barcode symbologies are required, the
UPC/EAN Barcode Font
Advantage Package is available as a separate purchase.
Installing the Access Native Barcode Generator is a simple process. If
problems are encountered with this tutorial, IDAutomation recommends referring
to the sample database included in the package. The demo version of this
product may only be used within the sample database provided in the
download.
- Extract the files from the Access Native Barcode
Generator package.
- Open the database where the barcode is needed.
- Press ALT-F11 to open the Visual Basic Editor. If ALT-F11
does not work, in Access 2000 or 2003 choose Tools - Macro - Visual
Basic Editor. For Access 2007, choose Database Tools - Visual Basic.
- From the Visual Basic Editor, choose File - Import File and import
the appropriate VBA module from the files extracted. To add support
for all linear barcode types, select the IDAutomation_Native_Barcode_VBA.bas
file. VBA modules are not available for importing with the Demo Version;
the demo version may only be used with the sample database provided.
If PDF417 or Data Matrix barcodes are needed, import the appropriate
module from the 2D folder. Once the files are imported, they become
embedded in the database file.

- Choose File - Save and then close the Visual Basic Editor. All functions
of the Access Native Barcode Generator are now embedded in the database.
- Open the report in Design Mode. This is accomplished by right-clicking
on the report and choosing Design.
- Insert a text box in the details section of
the form, and increase the height and width so it will be able to contain
the barcode. The text box may be easily added by dragging the field
from the Field List. The label on the left side of the text field may
be removed because it will not be visible when the report runs. Size
the box so it is tall and wide enough to contain the barcode symbol.
The height of the barcode is changed by sizing the text box.

- Right-click on the text box and choose Properties.
Change the Name of the text box to txtIDAutomationBC1
and verify the control source is the field that needs to be encoded
in the barcode.

Optional: The Control Source may be changed to a formula that
appends text to the data or combines multiple fields,
for example: ="PREFIX" & [Field1]
or =[Field1] & [Field2] or
=[Field1] & "," & [Field2]
- Save and run the report. Verify that the data to be encoded in the
barcode appears in the text box. If it does not, consult Access Help
to determine how to get the correct data in the text box. The result
of the Control Source in the text box is what will be encoded in the
barcode. In some cases, it may be necessary to specify the table and
field in the control source, for example: =([Table1.Field1])
- If it is desired to have a text interpretation
appear below or above the barcode symbol, copy the text box and paste
it in a suitable location on the form. Save and run the report. Verify
the data that needs to be encoded appears in both text boxes.

- Re-open the report in Design Mode. Right-click on the detail section
of the report, choose Build Event and then choose Code Builder.

- The Visual Basic Editor will appear. Remove any text that appears
in the editor.
- The code builder may insert text automatically, which should be
removed. Copy and paste the following green text
into the editor so it is the only text appearing:
Option Compare Database Private Sub Detail_Print(Cancel As Integer,
PrintCount As Integer)
If Len(txtIDAutomationBC1) > 0 Then
result = IDAutomation_NatG_C128(txtIDAutomationBC1, Me)
Else
result = ""
Exit Sub
End If
End Sub
- If necessary, change the function so that IDAutomation_NatG_C128
is the name of the function used to
create the barcode and txtIDAutomationBC1 is the name of the
text field that is to be encoded as a barcode.
- To create the barcode with default options,
skip this step. To modify parameters
of the barcode such as the X dimension in MILS, place a comma after
"Me" to view available options. To gain
greater control over the size of the barcodes, or to create very small
symbols, the DPI must be changed to 600 or greater.

- Save and run the report to verify barcodes are being properly created.
If a scanner is needed to verify barcodes, IDAutomation offers several
affordable, easy-to-use
scanner kits. If the barcode does not appear,
check the security settings, double check all
steps of this process and refer to Technical
Support. To adjust the width of the barcode symbol, change the
MILS setting accordingly. The height of the symbol
in linear barcodes is determined by the size of the associated text
box.

Legal Notice: The technology used in this product is Patent Pending.
Reports containing this object may only be distributed outside the licensed
organization with the purchase of a Developer License to the Native Barcode
Generator.
IDAutomation includes the capability in this product to create barcodes
and text for
GS1-128
(UCC/EAN128) symbols with the Apply Tilde feature.
The following describes the changes in the Code and the Control Source selections
of the Barcode Integration Tutorial
to implement GS1-128. The GS1-128 symbol is created from 17 digits of numbers
in the GS1DataField field.
- Change the ApplyTilde option in
Step 15 to "True." The result
line should be similar to the following:
result = IDAutomation_NatG_C128(txtIDAutomationBC1,
Me, 12, True)
- The Control Source selection in Step 8 may
be changed to a formula that encodes
GS1-128 barcodes, for example: ="Ê" & [GS1DataField]
& "~m17"
- The IDAutomation_C128HR function may be used as the control source
for the text interpretation in Step 10 to place
the parenthesis in the correct locations of the text. For example:
=IDAutomation_C128HR ("Ê" & [GS1DataField] & "~m17"
)
IDAutomation includes the capability to create multiple barcode symbols
in the same report. The following describes the changes in the Code and
the Control Source selections of the
Barcode Integration Tutorial
to allow multiple symbols to be created:
- Add a text box for each barcode needed in the report, described
in Steps 7 through 10.
- Give each text box a unique name instead of the standard name recommended
in Step 8. For example, use
txtIDAutomationBC1 for the first barcode
and txtIDAutomationBC2 for the second.
- Add additional result lines for each unique text box name
that is to contain a barcode, described in Step 13.
For example:
Private Sub Detail_Print(Cancel As Integer, PrintCount
As Integer)
result = IDAutomation_NatG_C128(txtIDAutomationBC1, Me)
result = IDAutomation_NatG_C128(txtIDAutomationBC2, Me)
End Sub
The result line in Step 13 of this
tutorial may be changed to create various different barcode types, which
are abbreviated below. For example, to create a Code 39 barcode, the result
line on step 13 may look like: result = IDAutomation_NatG_C39(txtIDAutomationBC1,
Me) .
The following functions are available:
| Barcode Functions
(used in the result line of Step 13) |
| IDAutomation_NatG_C128
(TextControlName,
ReportControlName,
Mils,
ApplyTilde,
DPI, Orientation) |
| IDAutomation_NatG_C128A(TextControlName,
ReportControlName,
Mils, DPI,
Orientation) |
| IDAutomation_NatG_C128B(TextControlName,
ReportControlName,
Mils, DPI,
Orientation) |
| IDAutomation_NatG_C128C(TextControlName,
ReportControlName,
Mils, DPI,
Orientation) |
| IDAutomation_NatG_C39(TextControlName,
ReportControlName,
Mils, N_Dimension,
IncludeCheckDigit,
DPI, Orientation) |
| IDAutomation_NatG_Codabar(TextControlName,
ReportControlName,
Mils, N_Dimension,
StartChar, StopChar, DPI,
Orientation) |
| IDAutomation_NatG_DataMatrix(TextControlName,
ReportControlName,
Mils,
ApplyTilde,
EncodingMode,
PreferredFormat,
DPI, Orientation)
* |
| IDAutomation_NatG_I2of5(TextControlName,
ReportControlName,
Mils, N_Dimension,
IncludeCheckDigit,
DPI, Orientation) |
| IDAutomation_NatG_MSI(TextControlName,
ReportControlName,
Mils, N_Dimension,
IncludeCheckDigit,
DPI, Orientation) |
IDAutomation_NatG_OneCode(TextControlName,
ReportControlName,
Mils, DPI,
Orientation)
** (aka: USPS Intelligent-Mail) |
| IDAutomation_NatG_PDF417(TextControlName,
ReportControlName,
Mils, EccLevel,
ColumnSpecify,
RowSpecify,
Truncate,
ForceBinary, DPI,
Orientation) * |
| IDAutomation_NatG_Postnet(TextControlName,
ReportControlName,
Mils, IncludeCheckDigit,
DPI, Orientation) |
| IDAutomation_NatG_Planet(TextControlName,
ReportControlName,
Mils, IncludeCheckDigit,
DPI, Orientation) |
| Text Functions
(used in the text interpretation control source of Step 10) |
| IDAutomation_C128HR (DataToEncode,
ApplyTilde)
This function is used to format
text for GS1-128 barcode types. |
| IDAutomation_SpliceText
(DataToEncode, SpacingNumber,
ApplyTilde)
This function is used to separate text digits into even segments
to ease readability. |
| MODU10(DataToEncode)
This function generates a GS1 MOD10 check digit. |
* Available only in 2D versions.
** The OneCode function also supports USPS IntelligentMail. USPS IntelligentMail
and OneCode support require the installation of the IDAutomationNativeFontEncoder.dll
file, which may be downloaded from
http://www.idautomation.com/fonts/tools/windows_dll/.
The file is free to use, provided You or Your organization have purchased
a valid License for the Native Barcode Generator for Access.
Fuction Properties Definitions:
- MILS - The X dimension, which is measured
in 1/1000 of an inch, where 12 is the default. This value changes the
width of the barcode symbol.
- DPI - The dots-per-inch the graphic is
generated for, where 300 is the default. When using a printer with lower
or higher resolution, this value may be changed to create a more accurate
symbol. An accurate symbol can only be created on a 203 DPI printer
when this value is set to 203.
- DataToEncode - This string value
represents the data being encoded.
- N_Dimension - Determines the width
of the wide bars, which is a multiple of the
X dimension. Valid values are 2 and 3.
The default is 2.
- Orientation - Values of 0, 90 and
270 degrees are supported.
- ReportControlName - The name
of the report where the barcode is to appear. This should usually be
set to "Me," which is the current report.
- TextControlName - The name
of the text control as defined in Step 8.
- IncludeCheckDigit - A Boolean
value that determines whether a check digit should be automatically
calculated and included for the DataToEncode.
- EncodingMode - The
encoding mode for the Data Matrix symbology; valid values are
0 for BASE256 (Default), 1 for C40, 2 for TEXT and
3 for ASCII.
- PreferredFormat - The
preferred format of the generated DataMatrix barcode.
- ECCLevel - The Reed Solomon
error correction
level to be used in PDF417.
- Column and Row Specify
- The number of
rows and
columns may be selected, allowing the symbol to be created in various
forms. The PDF417 barcode symbol is limited to 30 columns and 90 rows.
Some scanners and decoders cannot dependably read symbols with over
20 columns.
- Truncate - By selecting this option,
the right hand side of the symbol is removed or "truncated." This option
should be used primarily in a clean environment, since it is more susceptible
to damage.
- ForceBinary - Forces the PDF417
barcode to be encoded in Binary mode.
Common Problems and Solutions:
- Barcodes do not Appear in the Report: A security setting
may be the cause. Security may need to be changed
to allow VBA macros to run.
- To enable macros to run in Access 2000 & 2003: Choose
Tools - Macro - Security.
Change the security level to Medium or Low.
Close the database and re-open it. Macros should now be enabled.
- To enable macros to run in Access 2007: Open "Customize
Quick Access Toolbar" menu to the right of the office button.
Select "More Commands."
Choose the "Trust Center" menu button on sidebar.
Choose the "Trust Center Settings" button on main pane.
Choose the "Macro Settings" menu button on sidebar.
Select the "Enable all macros."
Choose "OK" to close Trust Center.
Choose "OK" to close Access Options.
Close the database and re-open it. Macros should now be enabled.
- Barcode is Truncated: Size or move the text box object as
described in Step 7 above.
- Barcodes do not Scan with Default Settings: Check to make
sure that barcode type is enabled in the scanner and that there is sufficient
white space surrounding the barcode. Additional solutions for this issue
are provided in the
Barcode will not
scan KB article.
- Access Reports run Slow: Encoding a large amount of data
with PDF417 or Data Matrix may cause reports to slow down because of
the complex calculations that must be performed in VBA code for the
generation of these symbols. If this issue is observed, consider decreasing
the amount of data being encoded, or implement the
IDAutomation Barcode
ActiveX Controls, which are compiled in C++ for improved calculation
speed.
- Scanning Problems with Small Barcode Sizes:
Verify a printer of 300 DPI or greater is being used. An X dimension
of 12 MILS or greater should be used with low resolution thermal 203
DPI printers. IDAutomation also offers many barcode fonts that
print well
to low resolution thermal printers. Additionally, verify the scanner
being used is able to read small barcodes.
- Additional problems and solutions are provided at IDAutomation
barcode font troubleshooting page and by searching resolved
public
help desk issues.
Priority
phone, email and help desk support are provided up to 60 days after
purchase. Additional
priority
phone, email and help desk support may be obtained if the
Priority Support
and Upgrade Subscription is active.
IDAutomation offers many other barcode products including:
© Copyright 2006-2009 IDAutomation.com, Inc., All Rights
Reserved. Legal
Notices.
|
Over 70% of Fortune 100
companies use IDAutomation products to automate their businesses.
|
|