can you check my relationships

antonyx

Arsenal Supporter
Local time
Today, 19:24
Joined
Jan 7, 2005
Messages
556
http://www.londonheathrowcars.com/rels.jpg

basically this is a system for a cab office.

the BOOKER and the LEAD PASSENGER will both come from the PERSON table.

the PICKUP and the DESTINATION will both come from the PLACE table.

if a JOB is a cash job, it wont involve a PAYMENT, if it is a credit card job it will.

a JOB may have more then one PAYMENT (eg, 2 passengers paying £30 each on their own cards)

each PAYMENT will involve one CREDIT CARD

a PAYMENT might pay for more then one JOB

a JOB may or may not belong to an ACCOUNT

a JOB may or may not belong to an INVOICE

an INVOICE will involve one or more JOBS

*********************************************

the rest is fairly straightforward..

the only issues are if we are picking up 4 passengers.. we have decided to limit the system to only register a LEAD PASSENGER..the same problem is with the PICKUPS and DESTINATIONS. there might be 4 pickups.. each pickup picking up a different passenger, and then 3 drops dropping 2 passengers in 1 place.. etc..

we have avoided this because its not really THAT important..

can anyone see any other problems with this layout?
 
Looks oke to me. Apart from the name giving.
You won't be the first to change your database after your initial approval.

Does your database have any users? do you need version numbers stored? Other miscellaneous info related to your program and not the database?

HTH
 
yes.. i do want their to be users..

and i want the database to automatically log who did what (their session)

any advice regarding that?

also when you talk about version numbers..i will split into back end and front end..

so im hoping microsoft's office/networking procedures will make this process as easy as possible
 
yes.. i do want their to be users..

and i want the database to automatically log who did what (their session)

any advice regarding that?

also when you talk about version numbers..i will split into back end and front end..

so im hoping microsoft's office/networking procedures will make this process as easy as possible
Put the users in the Users table. If you don't use Access security, use GetCurrentUsername to get the Windows login account
Code:
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public Function GetCurrentUserName() As String

    Dim lng As Long
    Dim sUser As String
    
    sUser = Space$(255)
    lng = GetUserName(sUser, 255)
    
    'strip null terminator    
    If lng <> 0 Then
       GetCurrentUserName = Left(sUser, InStr(sUser, Chr(0)) - 1)
    Else
       Err.Raise Err.LastDllError, , "A system call returned an error code of " & Err.LastDllError
    End If
    
End Function
If you want to log everything the users do, that's a lot of work. determine what you want to log. Put the changes in a table or per table put a change date field in the table and duplicate the record when changed.
Ofcourse you make use of the FE/BE functionality to create your application.
:D
 

Users who are viewing this thread

Back
Top Bottom