Using one field to capture multiple types of data because much more difficult to maintain, analyze and produce more usefull information.
PHV is quite correct. Instead of adopting a work-around solution, you can use relationships to better present your data.
Here is some back ground material.
Fundamentals of Relational Database Design by Paul Litwin
Download document
Read on-line (HTML)
Micro$oft's answer to design and relationships...
Where to find information about designing a database in Microsoft Access
283878 - Description of the database normalization basics
304467 - ACC2000 Defining Relationships Between Tables in a Microsoft Access Database
And a really good article on queries
Harnessing the Power of Updatable Queries
...Moving on
For example, you may be able to use three tables to capture this inform regardless of a contract for one or many houses.
tblContract
ContractID - primary key
ContractOwner
BillingAddress
ScopeOfWork - memo
...etc (Terms, Start / End Date, etc)
tblBuilding
BuildingID - primary key
ContactID - foreign key to tblContract
BuildingAddress
ScopeOfWork - meno
...etc
tblContractDetail
ContractDetailID - primary key
ContractID - foreign key to tblContract
BuildingID - foreign key to tblBuilding
DetailDesc - text
Completed - boolean yes/no
Comments - memo
The way it works...
- tblContract captures basic info for contract and other all scope
- tblBuilding captures info on each building and scope of work for the building if different from tblContract
- tblContractDetail itemizes deliverables for the contract and can be used as a check list
You probably want to include the price in the itemized list.
There is one weakness in this design. If a building has work done on it more than once, the address info etc will be duplicated. I suspect this is a non-issue since it is very unlikely you will work on a house more than once for the life of the database (correct?? 20 to 30 year shingles...)
Richard