473,399 Members | 3,106 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,399 software developers and data experts.

print a scannable barcode Code128

1,271 Expert 1GB
I keep reading that printing barcodes is no more difficult than changing fonts. I followed some advice to that effect, and I get a real pretty printed barcode, but the scanners won't read it.

I'm trying to use Access 2007 to print a 7-digit alphanumeric order number in Code128 barcode format. Anyone have a sure-fire way to do that without spending a lot of money?

Thanks,
Jim
Sep 11 '13 #1

✓ answered by zmbd

Unless one just needs the data density or the entire 128 ASCII, why not use a Code 39 font. Quick and easy to use, easily found in highquality typeface for free on the net, no check digit to calculate Unless you Code39Mod43, usually a easy ASCII port for Uppercase and numerics, only a start and stop charactor to deal with instead of all of the rest of the junk, usually native to the barcode scanner.

jimatqsi
your images are blocked at my company IT gateway.
if you use the advanced button you can upload to bytes.com

13 15334
Rabbit
12,516 Expert Mod 8TB
Did you remember to output the start and stop codes?
Sep 12 '13 #2
jimatqsi
1,271 Expert 1GB
Thanks for the reply, Rabbit. You're kind to suggest I know what I'm doing well enough to remember or forget anything about it. But now that you mention it, I do remember reading somewhere about having to surround the data with some codes.

I have this Code 128 Class made by Michael Ciurescu and updated by Paulo Cunha that I found on StackOverflow. I tried to use it initially but the lure of instant gratification by just using a font distracted me from working through whatever problem I had when I tried to use it. And a lack of understanding of the purpose of it. I think now I understand better, using the Code128_Str method of that class most likely calculates the check digit and adds those start and stop codes you mentioned.

I remember now, the problem I got when I used it was an ugly, nasty thing that was not a barcode. Using the BarCode128 font, my order number prints as a nice looking, but un-scannable barcode. Using Code128_Str(ordernumber) in the textbox with the BarCode128 font just made a mess.

I'm not sure how to resolve the mess.

Jim
Sep 12 '13 #3
Rabbit
12,516 Expert Mod 8TB
You can still use the font because the 3 start codes and the stop code can be represented by ascii characters so they should be available in the font. You just need to output the correct character.

If you scroll to the bottom of this table, the start and stop codes can be found there. https://en.wikipedia.org/wiki/Code_128#Bar_code_widths]

Edit: One more thing, did you calculate the checksum?
Sep 12 '13 #4
jimatqsi
1,271 Expert 1GB
No, I did not independently calculate a checksum. I was thinking that was part of what the Code128_Str method did.

Thanks for the article, maybe that will help me figure this out.

Jim
Sep 12 '13 #5
Rabbit
12,516 Expert Mod 8TB
Do you have a link to the code?
Sep 12 '13 #6
jimatqsi
1,271 Expert 1GB
Here's the code I found on StackOverflow
http://stackoverflow.com/questions/1...sing-excel-vba
I'll be at the office in an hour. I'll look again at my code and post any that might be helpful. But I think it is just something like
Expand|Select|Wrap|Line Numbers
  1. me.someTextbox=Code128_str(myOrderNo)
and the font of the textbox is the BarCode128 I downloaded according to directions in that thread.

Jim
Sep 12 '13 #7
jimatqsi
1,271 Expert 1GB
Okay, I've just run another test with my pick ticket form. I'm getting something that is half bar-code, half Greek letters. The debugger gives me a value of
ÒeyÍ8Ó
for the content of the text box after calling the barcode routine. I will post an image of the result for those that can view it.

Jim
Sep 12 '13 #8
jimatqsi
1,271 Expert 1GB
Here's an image of the resulting printed barcode



You might get a better view at
http://sm4.com:84/images/barcode128.png
Sep 12 '13 #9
jimatqsi
1,271 Expert 1GB
And the code I'm using to fill the text box is
Expand|Select|Wrap|Line Numbers
  1. Me.SalesOrderNo_txt = Code128_Str(Me.SalesOrderNo)
Again, this is using the class code found in post 5 of this thread:
http://stackoverflow.com/questions/1...sing-excel-vba

The only difference being I changed the name of the class from Class1 to BarCodes_cls so my public function reads like this:

Expand|Select|Wrap|Line Numbers
  1. Public Function Code128_Str(ByVal Str As String) As String
  2. Dim c As BarCodes_cls
  3. Set c = New BarCodes_cls
  4. Code128_Str = c.Code128_Str(Str)
  5. End Function
  6.  
Jim
Sep 12 '13 #10
zmbd
5,501 Expert Mod 4TB
Unless one just needs the data density or the entire 128 ASCII, why not use a Code 39 font. Quick and easy to use, easily found in highquality typeface for free on the net, no check digit to calculate Unless you Code39Mod43, usually a easy ASCII port for Uppercase and numerics, only a start and stop charactor to deal with instead of all of the rest of the junk, usually native to the barcode scanner.

jimatqsi
your images are blocked at my company IT gateway.
if you use the advanced button you can upload to bytes.com
Sep 12 '13 #11
jimatqsi
1,271 Expert 1GB
I don't know how I got steered to Code128. Probably Code39 will work as well. I'm going to try that. Thanks very much for the tip.

Jim
Sep 12 '13 #12
jimatqsi
1,271 Expert 1GB
Thanks, zmbd, that got me where I need to be. I think I chose Code128 because it's what is used in the documents created by Crystal Reports. There's a built-in Code128 function that is simple to use in CR. Trying to recreate the pick tix in Access led me to this problem.

Thanks to you and Rabbit both.

Jim
Sep 12 '13 #13
zmbd
5,501 Expert Mod 4TB
YEA!
(in truth though, the Code128, looked like a really neat project to work on... if I had the time I'd be all over that!)
Sep 12 '13 #14

Sign in to post your reply or Sign up for a free account.

Similar topics

0
by: Chris | last post by:
Hi, I found this code to send print direct to printer. It works perfect. Imports System Imports System.Text Imports System.Runtime.InteropServices <StructLayout(LayoutKind.Sequential)> _...
3
by: Cers | last post by:
Hello All I would like to print a barcode on a HP Laserjet printer. I know that exist some module (from Jetcaps) to print barcode. I´m programming an aplication in VC++, and I would like to print...
11
by: Lutz | last post by:
Hello, I'm setting up a barcode system for a storage-database. Now I'm looking for a free (cheap) solution to print barcodes using reports. I'll have to show the barcode to the screen before...
4
by: Saso Zagoranski | last post by:
Hi all! Does anyone know how can I print a barcode to a normal printer? I have to use code93... I have seen an example of this where code39 is used... printFont = new Font("Code39",18); ...
3
by: Frank Rizzo | last post by:
Hello, this is probably not the right place, but here it goes anyway. I am new to barcodes and pretty confused about symbologies. I need to print a barcode with the following sequence out: ascii...
3
by: angus | last post by:
Dear All, How to print a barcode label in asp.net? Thank you Regards, Angus
4
by: madunix | last post by:
I am in the process to create an online form using PHP with DB Oracle or MySQL, this form which consist of 2x parts personal data and finance data, and it will be filled by the users, once the...
0
by: Chee Choon Hong | last post by:
Most of the customer are printing from export raw file or direct link to AS/400 for data retrieval if the backend database is DB2. Hence in order to print to barcode printer, the output file has to...
2
by: rohit189 | last post by:
I am making a software for a jewelery shop...... they want to generate bar code tag. Previously i use bar code font for this but do not get proper result. i am using vb.net 2008 for developing the...
1
by: rohit189 | last post by:
in my application i need to print barcode. and i have printer of zebra tlp 2844 i make size of my page to 4 X 1.25 in. this size is taken from the list available size of the printer but when i print...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.