So, I’m building a simple inventory system. The information will be stored in a remote SQL Server 2005 database. On the current part of the project I’m working on I need to scan a barcode(which holds two pieces of data, employee ID and product ID). We’ll be using the MC9090-G scanner. At the same time it is being scanned, it will be sitting on a scale. I need to keep these three piece of data together, and upload them to the database.
First of all, I need to figure out how to collect the data. Secondly, I need to figure out the best platform to write the client side applications in. These will be fairly simple, such as inserting the above data. I’m not sure if I should use an ACCESS 2010 front end, or write the front end with something else.
I’m sorry if this question appears vague, please ask me for any more details. Thanks for the help guys, I’m really lost here.
This is a duplicate of your previous question. You don’t have to re-create a new question for it to be visible again: just edit your original question with more data and it will go to the top again.
No-one was able to answer then simply because this is too vague. For these types of systems, how the worker physically work is what drives the solution: you need to streamline their actions so that they flow naturally and do not require more movements and confirmations and handling than strictly necessary.
So, let’s try something.
Assumptions
Because I don’t know enough about your environment, equipment and process, I’ll make some assumptions about the problem:
A computer is installed near the scale for data input.
The barcode scanner and scale are both connected to the computer
The barcode reader behaves like a HID device (like if the input was typed on a keyboard )
The barcode reader is configured to add a CR (carriage return) suffix after each scan (all readers have this type of configuration).
The employee barcode is printed along (above or below) the Product ID a label that is applied on the fish.
The Employee ID barcode will be of the form:
@123456where 123456 is the employee ID.The
@prefix allows the system to detect that the scanned barcode is an Employee ID.Use Code128 or similar to print alphanumerical strings.
The fish barcode label is assumed to be on the fish or printed on a card.
The fish bar code label can be anything, but must not start with
@.We assume that the scale has an interface. Since you don’t mention which one you use or how the data is retrieved from the PC, we’ll have to assume that there is a SDK provided with the scale, or something that allows you to read the current weight.
Let’s call that function
ReadScale()and assume it returns you a float with the weight in whatever measurement makes sense for your task.Worker Process
Here again, we make some assumptions. Depending on your exact setup and what is the flow of actions physically performed, things may be very different, in which case, your software may also need to behave differently.
I assume that by the weighting and data entry is the final operation: the label is already applied on the fish/product by that time.
Possible process:
The worker is on the front of the computer and scale
The worker puts the fish on the scale
The worker wait for the reading to stabilise
The worker scans the 2 barcodes on the label placed on the fish.
Alternatively:
The worker scans the 2 barcodes on the label placed on the fish.
The worker puts the fish on the scale
The worker wait for the reading to stabilise
The worker types the ENTER key on the keyboard or scans a special OK barcode that tells the software that the process is completed.
The first alternative requires less operations, but it requires that the labels are visible for scanning while the product is on the scale. That may or may not be true.
Software solution
There are a thousand different ways to achieve what you want, but since you mentioned Access, we’ll assume that is what you are comfortable with.
Beside, it provides a nice way to prototype a solution since it’s easy to update an Access application.
I assume that the SQL Server database is on the same LAN as the data input computer that will host the Access application.
If that’s not the case, or if you must use Wifi, the way to connect to the database and save data would be different (and probably a bit more complex).
Data flow
When the employee scans the barcodes, the application will receive a stream of keys, as if the employee actually typed on the keyboard:
For instance, say the user scanned the employee ID, then the product ID. The computer will receive the following stream of data as if it was coming from the keyboard:
The
¶symbol just represents the CR code suffix added by teh bar code scanner (same code as the ENTER key).SQL Server Database
I assume that you have a
ProductLogtable in aFisherydatabase on SQL Server.That
ProductLogtable will simply record the set of data for each fish/product:Now link the
ProductLogtable to your Access application front-end.We’ll then be able to use it as if it was a local Access table.
Data input form
Le’t go for the most basic thing: create a blank form and add 3 large labels to it, that you will call:
labelEmployeeID,labelProductIDandlabelWeight.Edit the form’s properties so that it becomes modal and stays in the front of the application, among other things:
Open the VBA IDE to edit the code for the form and add the following:
All this is of course a particularly simple implementation based on simple assumptions that may or may not match your particular case.
There is no error handling, and it’s not even very good code, but it can help you throw something together and get started.
Use
To try to simulate the data entry process, just open the form and use the keyboard.
For instance, entering the following (entering ProductID first then EmployeeID will also work):
Will result in this screen, with the data being automatically recorded:
Sample database
I’ve made public a sample database showing the code in action.
It will save the data to itself for the demo.
Download it.
Conclusion
Again, the main issue when building these warehouse data entry applications is to model the data entry to an actual streamlined physical process.
If you do not think about the actual environment and practices of the user, your solution may risk being counter-productive, requiring more effort for the worker and making his job awkward instead of efficient.