Hello Group!

I am writing my first complex VB2010 program that is a order entry and inventory management program. I know there are lots of these out there. However I'm attempting to write this for a specific type of business which creates its own set of challenges. However my question has only to do with storage and retrieval of all of this data that will be created. I am trying to accomplish a several things. So I would like your input on what products to use to store the data.

I do want

1) a product that will allow easy changes to some of these database fields using EXCEL (this product is easy to use and the masses seem to understand it)
2) I need to ensure that the individual "columns" of data can be made to accept changes made manually, whereas others need to be "locked" such that they can only be altered as a result of program (as an example, I want to allow manual changes to the description of a part number. However how many that are sold during a given month should only be altered by the program that controls order invoicing).

To get a better grasp of what I'm doing, please don't hesitate to ask questions. Ultimately I want to make this program simple to use by the end user.

In advance, thanks for your input.

Don

Recommended Answers

All 6 Replies

In my opnion, you can't let the end user change the database, NEVER EVER. Any and every change in the database should be done by the software, or only, in very specific cases, by the database administrator.

In your example, you want to let the user change the description in directly in the database. But what it the user add a description contaning &"'^~><-+{]\|%$#@!*&¨?°¬¢£³²¹, would the software accept it?
What it the user remove the description field?

There's many ways that the user can mess up a software by editing the database himself, in my opnion this should never happen.

About the database itself, if every copy of your software will have an exclusive database, I can't suggest anything... lol... I never made an client application with a exclusive database. But I'd guess MSAccess, MySQL or FireBird.
I would never make an application based on a excel database.

However, if your software will connect to a central database, I recommend SQL Server or Oracle. Both have very easy .NET interfaces and are great handling large number of records, large number of connections, and have a lot of nice features that help development and maintanace.

AleMonteiro,

Regarding changing databases, for the most part I completely agree. The last company I worked for did have the ability to change things like descriptions, etc. via a flat file. I did find that the individual doing it needed to have good knowledge on how to do thing correctly. Therefore database management was given to only myself and one other. But it did allow us to manipulate large amounts of data easily using a EXCEL spreadsheet. We'd then convert it to an CSV file and then use some propriatery software to actually update the database. I do want to be able to replicate that.

I'm sorry to say I don't know the term "exclusive database". Thinking how this program will be used, the database will be stored on a central server and the users will connect via a VPN. So I take it that the SQL Server or Oracle may be the way to go. Ease of interface will be extremly important as will the ability to handle and store a large number of records and connections.

I'll need to do some research on SQL Servers and Oracle to understand these better. As I stated, I'm new to programming and I'm doing so much of this learning on my own (although I've taken a basic and intermediate VB programming course at my local college).

Again, thanks for your input. I greatly appreciate this.

Don

Why not try to create a program you will use to manipulate the data using programming languages such as dotnet? Maybe, (depends on your case) can make your work easier. Then you can export it to excel for mabe reporting purposes

Lethugs,

You present a good idea. I'll definitely do this.

Don

Don,

I used the term "exclusive database" to say an database per client. I mean, each PC that'll run the software will have it's own local database.

Good luck with your project.

AleMonteiro,

I absolutely don't want to do an "exclusive database". I'm working with SQL Server that came with Visual Studio 2010. I'm thinking that's going to work fine. When I'm done, I'll put that database on a central server. I'll have the each computer on the VPN point to that server to save and retrieve data.

Thanks again for the help!

Don

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.