473,396 Members | 1,933 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Advice needed on how to upgrade my database

158 100+
I have built a Database to take care of everything a rental building requires: work orders, purchase orders, task scheduling and so on… it work great but wanted to make it more efficient. Here are some of the things I need to change and wanted to know if it is possible to do it in a way that would be bullet proof.

I currently use the “Work Orders” portion of the database to create a record when a building resident requires work performed at their suite. Once the request has been entered I print out a “Service Request Receipt” with action to contact me to make an appointment in order to go see the problem.

Once I received a call and enter it in my appointment portion of my database I then print out a “Work ticket.” I bring this work ticket with me on my call and then write information what I need to do and purchase for the job.

Once I have this information on paper I enter it in the work order detail section where I have 4 dynamic dependent combo boxes where each take its list of value from query.

Example:

Building = current building

Unit = list result of possible suite # and or common area that are possible for “current building”

Quarter= list of results (kitchen, bathroom bedroom…) that are possible given the [type] of [unit]

Element = List of results (light switch, tap, floor, wall…) that are possible for the [type] of quarter

On another form I have:

WorkOrderID and WorkOrderDetailID and ElementID

Which gives me a possible list of product to order on my purchase order:

Product = list of results( doorknob, light switch, gasket…) that is possible for the [type] of Element
Supplier = a list of potential suppliers who carry the part or parts that I need.

This all work fine and I like the simplicity as everything chains up together beautifully.

The upgrade that I want to do is as follow:

My lists. They are created using a table with two fields: example [unit] and [quarter]

Unit can be suite# 101 , 102 103.… and each suite have Kitchen, bathroom, bedroom if the suite is a one bedroom suite and may have a patio if it is on the corner of the building. All filters work great and I have no problem with that. The problem that I face is when I add an item to my tables. I have to add this item by creating a record for everything starting from the top with [buildingName] [Unit] [quarter] [element] [prduct] [supplier] which make on the fly adding of a record time consuming.

I was wondering if there is a way to just have one table of each but alone by themselves?

Instead of having to type the name of the building and a unit and a quarter each time when I could just simply add an [Element] record to the element table?

Right now I have no choice to double entry everything and it goes against good database design and need a way to write this in codes to refer to each table as a single entity and with the result of one combo box the second one would take its value from a table instead of a query that takes its value from current form control preceding what I now want to lookup for the next step.

Reason why I designed the database as it is was because I needed to keep track of this aging building and accurately demonstrate aging components. If I get 220 calls to fix plumbing at the end it will make sense to put the overall plumbing of the building under review for a total overhaul instead of paying for repair calls which adds up fast.

Any idea on how I can make this process more efficient?
Oct 23 '09 #1
5 1431
vb5prgrmr
305 Expert 100+
Sounds like you have a proper one to many relationship in a 3rd normal form database and what you are wanting to do is to break that relationship and thus denormalize the database. While in some situations it may be required to do such a thing but my thought here is have you thought about speeding this process up just like you do for the service call by adding a form specifically for this purpose...




Good Luck
Oct 24 '09 #2
jaad
158 100+
Yes, I think you understand what it is I want to try to do. I am not sure for which purpose you refer to when you say "specifically for this purpose" though?

If you mean a pop up form to hold my controls of [Buildings],[units],[quarters] and [elements] so I can update them on the fly, yes I do have one of those.

I think where I went wrong was to create 4 different tables and then reunite the controls in a lookup query. I have 4 combo boxes, each one of them taking its value from 4 different queries. Each query only has two control in it excepted the first one [buildings] who takes its from the building table.

Then the value in my combo box [building] returns me a one to many [units] that I can choose from, then the value of [unit] gives me a reduced list of values for the [element] value. the problem with this is the [quarter] control which sits in two different queries. if I want to update [element] with a "Bathroom exhaust fan" record, I also need to create an entry in the [quarter] otherwise my lookup query will not pick it up. the thing is I also have to go in my other query prior to this update and update the new string for all the [units] and each [building] each building has an average of 45 suite in them so every time I need to add a new item I also need to add it for every suite of the building... I know I am not doing this right because I am doubling upi on a lot of record and it is extremely complicated and will lead to problem but the thing is that my database is new and still very small and the design works wonderfully when all the lookup fields that I need to create a record have been entered already. Even the lamest people in the organization won't be able to mess it up lol.

I just want to try to find a way that is simpler to enter a new item into those tables without having me to type it all up, just one entry, is it possible in some way to accomplish this?
Oct 24 '09 #3
vb5prgrmr
305 Expert 100+
Without seeing your code and your database it is a little hard to visualize but we can theorize...

tblBuilding
iBuildingID
'address of building and so on

tblUnit
IUnitID 'auto number
iBuildingID 'foreign key relationship to tblBuilding.iBuildingID
'description of unit, location within building, etc.

Okay, so far so good as this relationship should not be broken but since every apartment/condo is different, especially between buildings in different complexes you might want to break the direct one to many relationship between tblUnit and tblRoom (quarter) but still keep the relationship via a mid table...

tblUnitMidRoom
iMidID 'autonumber
iUnitID
iRoomID

tblRoom
iRoomID
vRoom 'description of room (kitchen, bathroom, master bedroom, master bath, etc.)

This way you can add directly to the room table without needing tblBuilding and tblUnit

Another way to accomplish this is to just break the relationship altogether and use tblRoom as a lookup table for the work order table and the same can be said for the work done table (Element table).

Hope this helps.



Good Luck
Oct 25 '09 #4
jaad
158 100+
Funny that you mentioned it. I decided to proceed by eliminating all relationship and simply gathering everything that I have under one table which I now use as a lookup table. We think alike. I am a real newbie but I think I am starting to see how this program works. its hard and slow and often try to imagine how mnay hours you pros out there have spent to learn this system and especially the VBA aspect of it which is still jebruish to me. I can't even start to understand how you guys have the ability to even choose the write function and how to write it. For me whenever I try its almost like my computer is giving me the finger especially if it is on Tuesdays and if it rains outside, seems that it is connected in a weird way with Access lol
Oct 25 '09 #5
vb5prgrmr
305 Expert 100+
Practice, practice, practice, and before you know it, you will know it.




Good Luck
Oct 25 '09 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

4
by: Dave Harney | last post by:
Hi Newsgroup, I'm currently using VS Ver 7.0.9466 with an OS of Server 2000 (domain controller) Ver 5.0.2195 (Build 2195) SP4. I have MSDN Universal and would like to upgrade my development...
5
by: NG | last post by:
Hi, We are having DB2-V7.2 DB on AIX 5.2 machine. Recently we upgraded our system to fixpack 13 and activated activate AIX asynchronous IO function. Our DB is going to crash recovery with...
1
by: SKG | last post by:
Hi all We currently use a split A2k database system with about 10,000 clients / 45,000 orders / 90,000 order entries etc with about 17 users (only 8 users do editing) We currently upload data...
6
by: strvariant | last post by:
Our company contracted with an outside consultant over a year ago to build a complex database application. The end product was put into production over nine months ago. Since then it has been...
47
by: ship | last post by:
Hi We need some advice: We are thinking of upgrading our Access database from Access 2000 to Access 2004. How stable is MS Office 2003? (particularly Access 2003). We are just a small...
9
by: Laban | last post by:
Hi, I find myself using static methods more than I probably should, so I am looking for some advice on a better approach. For example, I am writing an app that involves quite a bit of database...
21
by: Andy.I | last post by:
Hi I've just finished a collegue cource in beginning Vb.net programmeing, and was supposed to take an advanced cource in VB.net next semester learning more abour object oriented programming. But...
4
by: tootsuite | last post by:
Help. I have been tasked with upgrading a 2000 instance to 2005. I have actually done this before, but it was a long time ago, and I didn't do it alone. Now, the sitation is little different, and...
23
by: JohnH | last post by:
I'm just recently come to work for an auto brokerage firm. My position involves performing mysterious rites, rituals and magick in order to get information out of their access database. This is...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.