MS Access, is it the right program for my database needs?

Triumph

Lifer
Oct 9, 1999
15,031
14
81
I'm a mechanical engineer with little programming experience besides what I did in college 8 years ago. I'd like to limit the amount of "coding" that I need to do to solve this problem. Don't have access to Visual Basic, but do have Access as well as Matlab, fwiw.

I work on a team of about 6 or 7 engineers. Currently we are not doing well with tracking our designs, each of us may put together or own spreadsheet to list drawings numbers (which don't follow a common format), or what items make up an assembly, or what items go into a product, such as the number of nuts, bolts, washers, etc. The problem here is that if someone is not around, or quits, it is harder to track down what they did if it's ever needed again. There is commercial software available to do what we need, but it is very expensive, and also vastly OVER powered, much of it covers the whole of manufacturing, which we don't need.

So I would like to be able to do this. Have a network accessible data that each engineer can go into and get a new, non-duplicated part number to assign to his widget. Because there are only a handful of us, Access should be able to handle this, I don't think we need an SQL type database. Now he uses this number to create his drawing, as well as to create a new entry in the database that lists the name of the drawing, the date, the revision, notes, etc. So I have no duplication of part numbers, and each engineer can look up what the other engineer did.

Now that sounds easy enough, but say this widget is made up of 3 other smaller gadgets, as well as 4 washers and 4 nuts. Each of those 3 gadgets, each washer, and each nut needs a part number, description, etc (An assembly) I want the engineer to be able to:
1. Assign new part numbers to each new gadget
2. Find the existing part numbers for the washers and nuts, because they are common items, or create a new part number if it is a special style of washer or nut.
3. Attach the part numbers for the gadget, washers, and nuts, to the entry for the larger widget.
4. Be able to query the database and find out two things, A: where an item is used, and B: how many times is an item used in a specific assembly

So we produce many numbers of widgets, which are made up of multiple gadgets, each gadget may or may not be made up of its own pieces, and we use many common items which are repeated often across many widgets.

We COULD use our CAD software to do some of this, but it would not assign unique part numbers, and it would require modeling EVERYTHING that goes into a widget, such as the zip ties that we need 50 of, or the latch that is purchased from a supplier, or the power cable that comes with another device, etc.

So my questions are:
1. Can Access handle this type of database, WITHOUT any additional VB front end programming? Access has tables to create databases, forms to input data to the database, and reports and queries to get information out of the database.
2. How hard would this be to do?
3. Any advice on other ways to do this?

Thanks for all your help in advance
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
So my questions are:
1. Can Access handle this type of database, WITHOUT any additional VB front end programming? Access has tables to create databases, forms to input data to the database, and reports and queries to get information out of the database.

Yes

2. How hard would this be to do?

The bulk of the work will be to lay out the tables that you need and the interaction between them.

An user interface form will also take some time and require some tweaking - it will force someone to become acquainted with the Access Forms design.

The form for queries should be straight forward

3. Any advice on other ways to do this?

No matter what you come up with, advance plannign and runnign the process through on paper will ensure that it will work smoother.

Another option would be to develop a custom front end that will interact with the database.
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
shouldn't be too bad for you. I would almost prefer a sql server for it, just because sql is more standard for most. Mysql, and MS SQL Express would be able to do the job you want, and for free :)
 

brandonbull

Diamond Member
May 3, 2005
6,365
1,223
126
I would recommend using an Access front end to manage the forms then link them to SQL Server Express tables.
 

Triumph

Lifer
Oct 9, 1999
15,031
14
81
Originally posted by: brandonbull
I would recommend using an Access front end to manage the forms then link them to SQL Server Express tables.

Why?
 

GeekDrew

Diamond Member
Jun 7, 2000
9,099
19
81
Originally posted by: Triumph
Originally posted by: brandonbull
I would recommend using an Access front end to manage the forms then link them to SQL Server Express tables.

Why?

IMO, much less chance of data corruption, and I think that it's a lot easier to design and execute queries in SQL Server Management Studio than it is in Access.
 

KLin

Lifer
Feb 29, 2000
30,427
745
126
Originally posted by: GeekDrew
Originally posted by: Triumph
Originally posted by: brandonbull
I would recommend using an Access front end to manage the forms then link them to SQL Server Express tables.

Why?

IMO, much less chance of data corruption, and I think that it's a lot easier to design and execute queries in SQL Server Management Studio than it is in Access.

Agreed.

Data corruption issues are very key here. If the data tables are stored in an access database file and are being accessed by multiple users over a network, corruption is more a factor.

1. Store the tables in a SQL Express database,
2. link the tables into an access database file so you can create the forms, queries and reports to manage the data.


This allows the data to be more secure and much less susceptible to data corruption. Only thing missing from SQL express are maintenance plans to manage backups, but there's other ways to get backups of a SQL express database.

 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Does Access still rely on file shares for multiple users? If so then I echo the others' comments: data corruption would be a real possibility, but it depends on how much real sharing there is. One thing that's key in your requirements is the uniqueness of the assembly number, which could be guaranteed through atomic actions in SQL Server. I don't know enough about Access to know how robust that would be.
 

Triumph

Lifer
Oct 9, 1999
15,031
14
81
We're talking about 1 user accessing the file once every couple of days, and that's being very liberal. In reality my guys would be accessing it less frequently than this. Is this what you mean about corruption of the data, too many people trying to access too frequently?
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
Originally posted by: Triumph
We're talking about 1 user accessing the file once every couple of days, and that's being very liberal. In reality my guys would be accessing it less frequently than this. Is this what you mean about corruption of the data, too many people trying to access too frequently?

Access has limited protectino against concurrent access and updates.
A SQL database has more robustness.

Any front end, custom or using Access. can interact with a SQL database.
MySQL is free and can convert Access tables to it's own format.

You can develop the tables using Access and then import into MySQL if desired.

 

brandonbull

Diamond Member
May 3, 2005
6,365
1,223
126
Originally posted by: Triumph
We're talking about 1 user accessing the file once every couple of days, and that's being very liberal. In reality my guys would be accessing it less frequently than this. Is this what you mean about corruption of the data, too many people trying to access too frequently?

If you have 1 person with infrequent usage and small amount of data, Access should be fine.

I tend to find that ad-hoc projects evolve into more than the original intent. Start off with solid database and prevent any potential scalability issues later.

 

KentState

Diamond Member
Oct 19, 2001
8,397
393
126
I've seen Access database, and specifically the tables with auto numbers corrupt even with a couple of users. I've had to convert numerous Access applications over to SQL Server because of data integrity issues.
 

Apathetic

Platinum Member
Dec 23, 2002
2,587
6
81
Remember, Access is a SINGLE USER database. As long as there is only one user connected at a time, you'll probably be fine. When multiple people connect to the same Access database (in read/write mode), data corruption starts - it's pretty much inevitable.

Keep lots of backups.

Dave