Help with bar code

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

My company decided to incorporate a bar code system into our access database.
I have been an access programmer for long time, but I have never worked with
bar code. Does any one know how it works with access? Is there a literature
on how to incorporate this into access database. I work in access2002
Thanks
AL
 
Hi Al,

I have been on several projects that have required bar code technology and
here are a couple of suggestions that you should consider after you have done
a bit of research:

1) Most people adopt the Code128 format for simplicity and it is usually
more than enough for most people

2) A good vendor that I have used is for all of my projects is Seagull
Scientific(http://www.seagullscientific.com/aspx/welcome.aspx). They make a
product called BarTender that is great for creating barcodes. I have used
different versions of their software and depending on your needs, I have
found it excellent for both small VB/Access applications where I used it for
just creating a format that can print single label to sending batches through
a command line. In Enterprise situations where you need a client server or
n-tier solution, I used their Enterprise edition to host and send large
batches of labels to a dedicated barcode printer. Personally, I strongly
suggest staying away from the free fonts that you find on the web. I had
nothing but problems with them.

3) If you are thinking of using a 'regular' printer for sending your print
jobs to, purchase some Avery or similar labels and test them first with
whatever barcode hardware you are going to be using. Sometimes not all of
the inks can be read by the reader.

4) If you are only using a single entry point for barcode reading, you can
go the easy route and use a barcode wedge which allows you to attach it to
the keyboard port (there is also a Y-splitter you can use so that you don't
lose the keyboard altogether). If the user needs mobility (say for getting
up high or longer distances than the tether will afford), then look at either
a wireless device or a handheld device. A great wireless device that I have
purchased in the past is the Symbol wireless Phaser units (P370 I think).
May be a bit of overkill, but you can make that decision. If you are in a
warehouse type of situation where they will be gone for extended periods of
time, try a handheld PDA such as the Intermec 700 series. I did this on one
project where they then placed the PDA into a docking device with a modem and
they transferred it via modem to an Access database. Of course it adds a bit
of extra coding since you need a UI and backend on the PDA (Intermec offers a
software development package called MCL but I would stay away from it; easy
but it was Alpha quality when we used it - go with AppForge Crossfire
instead).

Thats about all I can think of for now, but while it is really cool
developing applications that use this technology, it can also be frustrating
if you don't do the research ahead of time.

Let me know if you have any other questions in regards to my post.

Lance
 
Thank you very much this was very helpful. I learned from both replies.
However, I still do not understand, how the scanning works with access. what
I mean is this. we are going to have 2 scanners to scan medication bar code
that is already on the containers, when the scanners scan the bar code how
does it get into access. what are the necessary steps that I need to do to
capture what the scanner scans?
thanks
Al
 
I too need to implement barcodes at some stage, so am interested in
responses to this thread.
As much as I understand, a BC scanner is interpreted by the os as "like" a
keyboard input, as if you where typing in numbers.
To say that wherever your curser has focus would be where the data is
inputted, be it in any text application. Of course I have only just started
looking into this, I have a cheap scanner from e-bay it reads & prints codes
to a receipt printer when connected to it ok, but I have yet to hook it up
to Access.
I'll stay tuned
Thanks.
 
thank you for your response. what I need to realy Know and I hope that
someone can answer is that how is the setup between access and the scanner
takes place? Say I create a form bound to a table in access , and the field
that stors this data, has the focus. now how is the scanner writes to it when
someone scans? is there a setup on the scanner to make it scan to access? do
I need to do anything in access to recognize the scanner? I need some one to
clarify this for me. thank you.
Al
 
Dear Al:

It depends on the type of barcode scanner you are using. One of the most
common types is the "wedge" type scanner, as mentioned in the earlier post
by Lance. This type of scanner simulates the keyboard. That is to say, when
you actually scan the barcode, the scanner sends the computer the number
represented by the barcode using the same port as the keyboard. It is as if
the number had been entered on the keyboard.

So, imagine you are using a form with a textbox into which you wish to
insert the barcode number. When the focus is in the textbox, you scan the
barcode. The barcode number is entered into the textbox, just as if you had
entered the number manually using the keyboard. As far as Access is
concerned, the number is being entered by a really fast, accurate typist! ;)

Now, this is true for the simple, wedge type scanner which you connect using
a "Y" splitter cable to the keyboard port. I haven't any experience with
other types.

Also, please note that most scanners have a variety of settings, and can,
for example, be programmed to insert a carriage return after scanning, if
you need that...

HTH
Fred
 
Hi Al,

Sorry for not getting back to you ealier, but here goes on further
explaining what you need to know.

As much mystique as there appears to be with barcode technology, it isn't
that bad.

There is no setup required between Access and the barcode scanner itself.
All a scanner does is read the barcode label, translate it to ASCII and
display the encoded ID on the screen through whatever interface you are using
(i.e. serial, keyboard connector etc.).

Selecting a Barcode Scanner
==================
As I mentioned in an earlier post, there are several types of barcode
scanners that you can purchase. If the user doesn't require mobility, then I
suggest purchasing a PS/2 model with a Y-connector. This will all both
barcode scanning capability and the ability to type in text. If the user
will only have one screen for input and doesn't require the ability to add or
edit records, ditch the keyboard.

If they need to move about, such as in a warehouse setting, then look at a
wireless model. The issue with these is that they can run into interference
issues (always get a demo in your environment first) or require base stations
set up depending on the square footage of the operation.

Barcode Encoding
===========
Most people can get away with using Code 39 or Code 128 (I usually use the
later). In both of these cases, I tie this code to an identifier to one of
my Access table identifiers (usually a primary or composite key).

A barcode system at its roots is nothing more than a catalog system. The
link between your Access application and the barcode is through the barcodes
that are printed either from your application or a third party tool such as
BarTender. As I mentioned before, the only information encoded onto the
barcode label itself is an identifier (i.e. primary key) that links the item
that the label is attached to, to a matching item in your database.

So how does this work?
===============
Now that we now that the barcode label provides the link between the
inventory item and the Access application storing a virtual record of one or
more of said items, we can see how we use this as part of the application.
We'll walk through this in a step by step manner.

1) The developer would create a form for capturing the scans. I suggest
minimizing the number of fields on the form and if speed is not a
requirement, create a small form with a single text box for capturing the
barcode (you'll see why in a minute). Make the text box modal so that it
cannot remove the focus until the user scans a label, or presses a Cancel
button.

2) Create a label in BarTender (or whatever application you have handy) with
some text (doesn't matter what but I suggest alpha numeric). While you are
creating the label, you should see an option to set the barcode to a
particular type (i.e. Code 128).

3) Referring to your barcode scanner manual, there will be instructions on
how to determine the default encoding scheme of your scanner. Usually it is
Code 39, it is usually easy to change. Most allow you to get into a
programming mode where you can set up the options by scanning barcodes in the
manual.

4) Open your new form and with the barcode scanner plugged in, scan the
barcode. Viola. Provided that you have configured the barcode scanner to
read the same encoding as the label, it will translate the many bars of the
label into ASCII in the text box of our form.

Now why did I suggest that you minimize navigation in your form?

One of the biggest pains with barcode wedges (that is the term refered to
ones that are plugged into the keyboard), is that regardless of what
application you are in the barcode scanner is still active and will place
text wherever the cursor is. That's right, it doesn't matter if it is
Microsoft Word, Notepad, Outlook, blah, blah, blah. If the application can
accept text, the barcode scanner will write to it.

How do I avoid this?
=============
This is really the only difficult task you will face is ensuring that it
writes to the correct location, hence the limiting of navigation in a barcode
scanning mode. The use of modal helps since you can limit the possibility of
writing to a totally different field.

The second thing I usually do is create events for:
- detecting when new text has been entered; I create a regular expression to
check the text being scanned in. I always have a predetermined label syntax
so that I can determine what is an inventory label and what is the label from
a bottle of Coke that someone thought would be fun to test the scanner on.
For example, I have used the initials of the application name followed by the
primary key identifier (autonumber with unique constraint) or if I track
inventory types, I will use type codes (for example, CER for cereal or SD for
softdrinks).

- parsing the text. Once text has been entered, parse if necessary and query
that against a recordset of items in your database. I suggest matching the
text against a regular expression. Since inventory systems can grow and it
slows matches, this is where partitioning your barcode items into different
types can really help.

I hope that provides a bit more detail into what you are looking for.

Lance
 
I do not know how to thank you for going into a great length to explain this
to me. It certainly helped. thanks a million
Al
 
Back
Top