How to upgrade our own customized software?

Hello guys,

I been wondering for quite sometime how to do it but failed to get answer...hopefully someone can help me it goes...Example given at below...

Let say there are 1 table with 5 field (id,name and passport no) in my abc.mdb database as my backend and visual basic as my front end...after I use the program for quite some time and key in about 300 records into the abc.mdb database, suddenly I need a new requirement which is another 2 additional field which is (passport issue date and passport expiry date) as this 2 field is a critical field and user must input the date into this field....I can add that 2 field into front end and backend but how do i deal with old records where the field will left empty and whenever i refer to the old record there is always error shows empty field as that 2 field is important field that need to be to do/deal the upgrade version? I'm kinda confused here...thank you in advance...
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Assume the the two new fields have already been added to the Table, but the existing records now have NULL in those fields:

first, decide what dates you want to have in those existing records - clearly rthere MUST be dates in those fields, but the question you need to decide is --WHAT DATES.  After you come to a decision on this issue:

open the Back-end MDB

Create an Update query, to update the two date fields in the OLD records (that is for those records where these two fields current hold NULL - use the IsnUll function in the Criteria Row for these fields, in the Query Builder.)  set the Update to row to the Dates that you haver decided to add to the earlier records.


Assuming the database has already been copied and your working on a new front-end exe as well.  I'm also assuming that you have a simple form for input when reviewing the records.

I would add error trapping in the front end code to handle the empty records to fire of an event to the user to fill in the proper dates.  The last thing you want is to have dates you've picked at random.  This could be used for later updates to your database as well.  Very handy if you plan on continuing to add more columns in this or other tables later on.

If you have reporting that these two new fields are being used on, you could do a replace for those "empty" fields (again with error trapping on required fields) that could tell the report to show "Needs Input"

Another option would be to add in a "database validation" process that would FORCE the user to input all the new record's fields, but that would be seriously unhappy for regular users who may not even have that new information available and just want to run reports.

Hopefully this helps.

Dan M.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
thanabalanAuthor Commented:
Thank you guys espcially dmstrat for good in explanations...

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.