Tech or Treat! Write an article about your scariest tech disaster to win gadgets!Learn more


vb or not

Posted on 2002-04-09
Medium Priority
Last Modified: 2012-05-04
I think I closed my previous quesition too soon.  I'm just starting to learn vb6 partly because I'm looking to build my own billing program for my small business.  I have ~70 customers the database will contain names, address, phone numbers, hopefully an auto bill field so standard charges can be done monthly, a series of codes for billing a variety of different parts & services.  It would need to save one years worth of previouis charges.  And I would need to be able to search on the above criteria.  Essentially I need to send out invoices, and statements, and keep a record of what I've done.  Does this sound like a VB project???  I'm not under any time constraints, I already have a program for this but it's not specific to my business and lacks flexibility.
Question by:rspar1
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +4

Expert Comment

ID: 6930316
 Sounds like a perfect VB project to me. The data could be stored in a variety of formats. Personally, I often like to just write it to a sequential file, then load all the data in when you load the program. However, you can also use Access file format. If you want the reports to look really good, you might consider using Crystal Reports. That has a control that you can add to your VB project to allow it to write to the report forms.

Expert Comment

ID: 6930570

Yep the perfect opportunity for VB to flex its muscles..

Personally I would use either Access or SQL etc to hold your Database, very simple to use and provide excellent opportunities to do numerious task with your data simply and effectivly, such as searching and manipulating data.

This is a guess but I'm assuming your relativly new to VB, if that is the case then the first thing I'd do is familierise myself with the technolgies you will use, such as the basics of VB the database management system you'll use (ie SQL or Access). There are so many site around that will help you its hard not to find them.

As your new to VB id stay away from Crystal Reports, for me there a pain in the ass.(although to be fair we I work from the working version is quite old)
Vb has its own reporting tools that are very simple to use and provide the basic functionality you will need to create invioces etc..

Well good luck and if there is any specific coding questions you need help with I'm sure both myself and the rest of the experts will be able to help..

Madmarlin.. ;?)

Expert Comment

ID: 6930972
Use VB with ADO and you're good to go.  I'm currently working on a project that will take my company's billing system off mainframe and replace it using

VB 6 would do well too, but the CIO wants us to move to the next level of development tools, whcih is .Net.

There's really no other programming tool that is easier to create robust Windows applications than VB.

What database are you using?
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Expert Comment

ID: 6931168
Although I have been programming VB for 15+ years now, I would say (because you are relativily new to VB) that this is a perfect MS-Access project
LVL 101

Expert Comment

ID: 6931349
Depending on how you want to store the data this could be an excellent project for VB or for the database engine.  

What program are you using now?  Is the datafile accessible from VB?  Do you know what the program you are using now is written in?  It may be possible to modify or enhance it.

LVL 22

Accepted Solution

rspahitz earned 200 total points
ID: 6932105
I'd agree that VB is a good choice for such a project, however, the larning curve will be two-fold.  First, you'll need to become reasonably competent in VB; secondly you'll need to become quite compentent in dabatase design.

Weak database design is probably one of the major failures in many companies, because they either fail to take into account one or more features (causing the need for a redesign or, worse, a patch to overcome the weak design) or they simply didn't organize it very well, meaning that the access of the data becomes difficult.

In your case, "names, address, phone numbers, hopefully an auto bill" means that you'll need a customer name table, which sounds simple enough, but what do you do if they are small businesses with multiple addresses?  How about if there are several contacts in that company?  And with phone numbers, you really need a separate table: primary phone number, alternate phone number, cell phone number, pager number, fax number, personal phone number, etc.

After that, you'll need a table to track inventory or services, which then get billed on purchase, attached to a PO, which has line items and could have back-orders.

A lot depends on the specifics, but definitely take lots of time to evaluate all of the database pieces before you begin the VB side.  Also, if you use VB alone, building the (ADO) database is possible but awkward.  To do it more easily, use Access to build the DB...which may be enough since it supports queries and reports.  If you need extended power, then move up to VB to access the records on demand and manipulate the data.

Will the database (or any part) be distributed to customers?  If so, you may want to split it into a separate "distribution" database, or to password protect it and build a VB shell to access only what the customer can see (such as the inventory.)  Of course, then why not just drop that stuff onto a website?

Author Comment

ID: 6932914
Wow, good input!
Yes I'm very new to VB.

Currently I'm using a shareware program called Medlin, that started as a dos program, and I've bought the windows upgrades.

It's main draw back is also it's plus, everything I bill has to be on a 4 digit code that I specify. Problem with that is every time I have something a little unusual I have to make a new code for it (my code list is enormous).  And if I delete the code later it also deletes the description in the history for that customer.

The phone numbers are in a comment box which is fine by me I don't search on them.  I don't have any inventory.  And my reports, and invoices print on plain paper which I like $<.

I wasn't sure what I was going to use for the database, I thought a plain text file was possible, but probably not the best choice speed wise.  Medlin loads everything into memory and recall is instantaneous.

This should tell you how new I am, Access is part of Office??  The closest thing to programming I've ever done is Dbase III, and I've have to get in the way back machine to remember that.  I have patience, time, and stubbornness on my side.

I take it that if I use Access to store my data in, I can manipulate it with a VB program?

Author Comment

ID: 6932942
Somewhere I think I have Office 95 (dinosaur I know) would Access be in that?
LVL 101

Expert Comment

ID: 6932944
Access is part my MS Office Professional.  

VB can manipulate an Access database but Access is a full feature DBMS which allows you to build forms, reports, queries, and code.  Access uses a derivative of VB called VBA (Visual Basic for Applications).  

In some ways it is better especially for Access data than VB.

If you can get a copy of Access to test dirve, it has several very good sample databases already built to use as examples and to help you learn.  One of them in fact incorporates a billing capability.

I assume you will be using this as a single user.  Access is built (especially Access 2000) for small groups and not really for many users simultaneously.  Your application sounds like only one user at a time so Access will be more than sufficient.

As a $ saver you might initially look for a copy of Access 97 at a garage sale or computer swap meet.  It is available as a standalone product outside of the Office suite.

I think you have an excellent project and you should have a lot of fun learning VB and Access.  One warning, the project may be rather large and a little more complicated than you might think at first glance.  

With some thought you should be able to break it into small pieces that can be built and used without having to complete the entire project.

Good luck

Author Comment

ID: 6932987
Thanks, there's a monthly radio/computer swap meet in the TRW parking near me, I'll check it out for Access 97.  I'm starting to get a sense of the size of the project but thats ok.  Once I get far enough along to see partially working parts I'll be ok.

I wish I could get into the  program I use now and just add a tweak to it.

Author Comment

ID: 6932996
Hey I can make a command button, and do basic math using data stored in several variables.

Hopefully I'll have something working by Christmas, that may be optimistic.

Expert Comment

ID: 6933953
  As I mentioned in the first comment, if the data is simple enough, you can just store it in a sqential file (or series of them). Then the program can load all the data into memory when it is run. Besides simplicity, this makes for a small program size. Since I write shareware and distribute it on the Web, this can be important to me. Of course, this only works if you have a limited number of data entries, but it sounds like you do from your description.
   Of course, if you create your reports with Crystal Reports, linking to an Access database helps simplify the report input.

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses

647 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question