Question : Table structure for tracking an annual budget with monthly input for each field on one form. Is there a better way than what I have done?

I am in the process of building a budget tracking database for a chain of cafes.  A requirement of the database is to be able to input the budget for the entire year on one form.  The way i currently have the database structured is clumsy and hard to make revisions to because of the 255 field limit for ms access tables.  I pasted an example of how i want the form laid out below.  The main form pulls from tblStore where StoreID has a one to many relationship with tblBudget.  tblBudget however has all 255 fields used which makes me uncomfortable.  The naming scheme for the fields in tblBudget goes as follows: Month Number - Fieldname eg. 01-AvgDailyCash, 02-DailyCash, 03-DailyCash...

i have tried unsucessfully to split each months data into its own table and be able to pull up the information on one form based on Store ID then budget year.  

Is there a way i can setup relationships that would allowme to circumvent the query field limit of 255 as well and display all the information to be entered on one form?  Please comment with any questions.
p.s. some of the fields listed below are just calculated fields and are not stored in the table.


Store Name:Cafe100 Store ID:1
 
Budget year: 2006                     january            February           March         April           May           June             July.......
avg. daily cash sales
average charge sales
operating days
holidays (paid)

Revenues
  Cash
  Charge
  Other
Total Revenus

Cost of Goods
  Food 42%
  Paper 6%
  Other
Total Cost of Goods

Labor
  Wages
  Payroll Fringes 30%
  Other
Total Labor

Other Operating Exp.
  Newspapers
  Cash Over/Short
  Laundry
  Kitchen Supplies
  Signage & Displays
  Repairs
  Utilities / Phone
  Auto Travel
  Entertainment
  Equipment Rental
  Office Supplies
   License, Permits, Fees
  Bank Charges
  Insurance - General
  Misc.
Total Other Oper. Exp

Total All Expenses

Operating P or (L)

Answer : Table structure for tracking an annual budget with monthly input for each field on one form. Is there a better way than what I have done?

Joe,


OK, You will need to add Year as a column in the  in the Budget table

Use combo boxes for Year and Store on the main form. In the Before Update event for these call a routine that checks whether there are rows in the budget table for the store/year combination. If not, insert them using the Budget Lines Description table as the source. Something like this:

Private Sub cbStoreID_BeforeUpdate(Cancel As Integer)
    InitBudget
End Sub

Private Sub cbYear_BeforeUpdate(Cancel As Integer)
    InitBudget
End Sub

Sub InitBudget()
    If Nz(Me.cbStoreID, 0) = 0 Or Nz(Me.cbYear, 0) = 0 Then
        Exit Sub
    End If
    If DCount("BudgetLineID", "Budget", "Year=" & Me.cbYear & " and StoreId=" & Me.cbStoreID) = 0 Then
        ' Put the code to insert the budget lines here
    End If
End Sub

Each of the tabs would contain a separate sub-form with a record source selecting the appropriate budget section and connected to the storeID and Year combo boxes via the parent/child properties.
Random Solutions  
 
programming4us programming4us