transport company microsoft access data base, technical manual

30
1r Transport Company Data Base TECHNICAL MANUAL Tabela: car_types Kolumny Nazwa Typ Rozmiar id_car_type Liczba całkowita długa 4 manufacturer Tekst 50 model Tekst 50 combustion p/100 Liczba całkowita długa 4 maximal speed Liczba całkowita długa 4 capacity Liczba całkowita długa 4 Relacje Tabela: cars Kolumny Nazwa Typ Rozmiar id_car Liczba całkowita długa 4 type Liczba całkowita długa 4 color Tekst 50

Upload: adam-siemion

Post on 12-Nov-2014

118 views

Category:

Documents


3 download

DESCRIPTION

Dokumentacja techniczna; Projekt bazy danych firmy transportowej w Microsoft Access; projekt powstały w ramach przedmiotu Relacyjne Bazy Danych, PJWSTK 2003

TRANSCRIPT

Page 1: Transport company Microsoft Access data base, Technical manual

1r

Transport Company Data BaseTECHNICAL MANUAL

Tabela: car_types

Kolumny

Nazwa Typ Rozmiar

id_car_type Liczba całkowita długa 4manufacturer Tekst 50model Tekst 50combustion p/100 Liczba całkowita długa 4maximal speed Liczba całkowita długa 4capacity Liczba całkowita długa 4

Relacje

Tabela: cars

Kolumny

Nazwa Typ Rozmiar

id_car Liczba całkowita długa 4type Liczba całkowita długa 4color Tekst 50year Liczba całkowita długa 4

Tabela: cars_drivers/deals

Page 2: Transport company Microsoft Access data base, Technical manual

2rKolumny

Nazwa Typ Rozmiar

id_car_driver/deal Liczba całkowita długa 4car Liczba całkowita długa 4driver Liczba całkowita długa 4deal Liczba całkowita długa 4hours Liczba całkowita długa 4price Liczba całkowita długa 4

Tabela: cities

Kolumny

Nazwa Typ Rozmiar

id_city Liczba całkowita długa 4name Tekst 50longitude Liczba całkowita długa 4latitude Dziesiętne 16

Tabela: clients

Kolumny

Nazwa Typ Rozmiar

id_client Liczba całkowita długa 4name Tekst 50surname Tekst 50address Tekst 50telephone Tekst 50town Tekst 50post code Tekst 50country Tekst 50

Tabela: deals

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4source Liczba całkowita długa 4destination Liczba całkowita długa 4date Data/Godzina 8client Liczba całkowita długa 4price Liczba całkowita długa 4

Tabela: drivers

Kolumny

Page 3: Transport company Microsoft Access data base, Technical manual

3rNazwa Typ Rozmiar

id_driver Liczba całkowita długa 4name Tekst 50surname Tekst 50salary Waluta 8

Tabela: users

Kolumny

Nazwa Typ Rozmiar

id_user Liczba całkowita długa 4login Tekst 50password Tekst 50type Liczba całkowita długa 4client Liczba całkowita długa 4

Page 4: Transport company Microsoft Access data base, Technical manual

4r

Kwerenda: q_add_car

SQLSELECT cars.id_car, car_types.manufacturer, car_types.model, cars.color, cars.year, car_types.[maximal speed], car_types.capacityFROM car_types INNER JOIN cars ON car_types.id_car_type=cars.type;

Kolumny

Nazwa Typ Rozmiar

id_car Liczba całkowita długa 4manufacturer Tekst 50model Tekst 50color Tekst 50year Liczba całkowita długa 4maximal speed Liczba całkowita długa 4capacity Liczba całkowita długa 4

Kwerenda: q_car_types

SQLSELECT cars.id_car, car_types.manufacturer, car_types.model, car_types.capacity, car_types.[maximal speed], car_types.[combustion p/100]FROM car_types INNER JOIN cars ON car_types.id_car_type = cars.type;

Kolumny

Nazwa Typ Rozmiar

id_car Liczba całkowita długa 4manufacturer Tekst 50model Tekst 50capacity Liczba całkowita długa 4maximal speed Liczba całkowita długa 4combustion p/100 Liczba całkowita długa 4

Page 5: Transport company Microsoft Access data base, Technical manual

5rKwerenda: q_cars

SQLSELECT DISTINCT deals.id_deal, cars.color, cars.year, car_types.manufacturer, car_types.model, car_types.[combustion p/100], car_types.[maximal speed], car_types.capacityFROM car_types INNER JOIN (deals INNER JOIN (cars INNER JOIN [cars_drivers/deals] ON cars.id_car=[cars_drivers/deals].car) ON deals.id_deal=[cars_drivers/deals].deal) ON car_types.id_car_type=cars.typeORDER BY deals.id_deal;

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4color Tekst 50year Liczba całkowita długa 4manufacturer Tekst 50model Tekst 50combustion p/100 Liczba całkowita długa 4maximal speed Liczba całkowita długa 4capacity Liczba całkowita długa 4

Kwerenda: q_cities

SQLSELECT deals.id_deal, cs.name AS source, cd.name AS destination, Int(Sqr((cs.longitude-cd.longitude)^2+(cs.latitude-cd.latitude)^2)) AS distanceFROM deals, cities AS cs, cities AS cdWHERE (((deals.source)=cs.id_city) And ((deals.destination)=cd.id_city));

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4source Tekst 50destination Tekst 50distance Podwójna precyzja 8

Kwerenda: q_drivers

Page 6: Transport company Microsoft Access data base, Technical manual

6rSQL

SELECT DISTINCT deals.id_deal, drivers.name, drivers.surname, drivers.salaryFROM drivers INNER JOIN (deals INNER JOIN [cars_drivers/deals] ON deals.id_deal=[cars_drivers/deals].deal) ON drivers.id_driver=[cars_drivers/deals].driverORDER BY deals.id_deal;

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4name Tekst 50surname Tekst 50salary Waluta 8

Kwerenda: q_id_deal

SQLSELECT MAX(deals.id_deal) AS id_dealFROM deals;

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4

Kwerenda: q_rap_clients

SQLSELECT clients.id_client, clients.name, clients.surname, clients.address, clients.telephone, clients.town, clients.[post code], clients.countryFROM clientsORDER BY clients.id_client;

Kolumny

Nazwa Typ Rozmiar

id_client Liczba całkowita długa 4name Tekst 50surname Tekst 50address Tekst 50telephone Tekst 50town Tekst 50post code Tekst 50country Tekst 50

Page 7: Transport company Microsoft Access data base, Technical manual

7r

Kwerenda: q_rap_deal

SQLSELECT deals.id_deal, cs.name AS source, cd.name AS destination, deals.date, drivers.name & " " & drivers.surname AS driver, car_types.manufacturer & " " & car_types.model AS car, clients.name & " " & clients.surname AS client, [cars_drivers/deals].priceFROM cities AS cs, cities AS cd, car_types INNER JOIN (drivers INNER JOIN ((clients INNER JOIN deals ON clients.id_client=deals.client) INNER JOIN (cars INNER JOIN [cars_drivers/deals] ON cars.id_car=[cars_drivers/deals].car) ON deals.id_deal=[cars_drivers/deals].deal) ON drivers.id_driver=[cars_drivers/deals].driver) ON car_types.id_car_type=cars.typeWHERE (((deals.source)=cs.id_city) And ((deals.destination)=cd.id_city))ORDER BY deals.id_deal, deals.date DESC;

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4source Tekst 50destination Tekst 50date Data/Godzina 8driver Tekst 0car Tekst 0client Tekst 0price Liczba całkowita długa 4

Kwerenda: q_rap_drivers

SQLSELECT drivers.id_driver, drivers.name, drivers.surname, drivers.salary AS [salary p/h], Sum([cars_drivers/deals].hours) AS hours, Sum([cars_drivers/deals].hours)*drivers.salary AS totalFROM drivers INNER JOIN [cars_drivers/deals] ON drivers.id_driver=[cars_drivers/deals].driverGROUP BY drivers.id_driver, drivers.name, drivers.surname, drivers.salary;

Kolumny

Nazwa Typ Rozmiar

id_driver Liczba całkowita długa 4name Tekst 50surname Tekst 50salary p/h Waluta 8hours Podwójna precyzja 8total Podwójna precyzja 8

Page 8: Transport company Microsoft Access data base, Technical manual

8r

Kwerenda: q_user

SQLSELECT users.id_userFROM usersWHERE (((users.login)=[Forms]![f_main]![i_login].[Text]) AND ((users.password)=[Forms]![f_main]![i_password].[Text]));

Parametry kwerendy

Nazwa Typ

[Forms]![f_main]![i_login].[Text] Tekst[Forms]![f_main]![i_password].[Text] Tekst

Kolumny

Nazwa Typ Rozmiar

id_user Liczba całkowita długa 4

Kwerenda: q_view_deal

SQLSELECT d.id_deal, cs.name AS source, cd.name AS destination, d.date, Sum([cars_drivers/deals].price) AS SumaFROM cities AS cs, cities AS cd, deals AS d INNER JOIN [cars_drivers/deals] ON d.id_deal=[cars_drivers/deals].dealWHERE cs.id_city=d.source And cd.id_city=d.destinationGROUP BY d.id_deal, cs.name, cd.name, d.date;

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4source Tekst 50destination Tekst 50date Data/Godzina 8Suma Podwójna precyzja 8

Page 9: Transport company Microsoft Access data base, Technical manual

9r

Kwerenda: q_view_deal_cars/drivers

SQLSELECT deals.id_deal, cs.name AS source, cd.name AS destination, deals.date, deals.price, drivers.name & " " & drivers.surname AS driver, car_types.manufacturer & " " & car_types.model AS car, clients.name & " " & clients.surname AS clientFROM cities AS cs, cities AS cd, car_types INNER JOIN (drivers INNER JOIN ((clients INNER JOIN deals ON clients.id_client=deals.client) INNER JOIN (cars INNER JOIN [cars_drivers/deals] ON cars.id_car=[cars_drivers/deals].car) ON deals.id_deal=[cars_drivers/deals].deal) ON drivers.id_driver=[cars_drivers/deals].driver) ON car_types.id_car_type=cars.typeWHERE (((deals.source)=cs.id_city) And ((deals.destination)=cd.id_city))ORDER BY deals.id_deal, deals.date DESC;

Kolumny

Nazwa Typ Rozmiar

id_deal Liczba całkowita długa 4source Tekst 50destination Tekst 50date Data/Godzina 8price Liczba całkowita długa 4driver Tekst 0car Tekst 0client Tekst 0

Kwerenda: q_view_drivers

SQLSELECT dr.name, dr.surname, d.price, d.id_dealFROM drivers AS dr, deals AS d, [cars_drivers/deals] AS cdWHERE ((d.id_deal=cd.deal) And (cd.driver=dr.id_driver));

Kolumny

Nazwa Typ Rozmiar

name Tekst 50surname Tekst 50price Liczba całkowita długa 4id_deal Liczba całkowita długa 4

Page 10: Transport company Microsoft Access data base, Technical manual

10r

Formularz: f_add_deals

Obiekty

Etykieta: Cars_Etykieta

Etykieta: client_Etykieta

Etykieta: date_Etykieta

Etykieta: destination_Etykieta

Etykieta: Drivers_Etykieta

Pole tekstowe: i_client

Pole tekstowe: i_date

Pole kombi: i_dest

Pole tekstowe: i_price

Pole kombi: i_src

Pole listy: ls_cars

Pole listy: ls_drivers

Pole listy: ls_price

Etykieta: price_Etykieta

Etykieta: source_Etykieta

Pole tekstowe: tx_distance

Kod1 VERSION 1.0 CLASS2 BEGIN

3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_f_add_deals"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False

10 Option Compare Database1112 Private Sub save_deal()13 DoCmd.RunSQL "INSERT into deals ([source], [destination], [date], [client], [price])

VALUES " & _14 "(" & i_src & "," & i_dest & "," & i_date & "," & i_client & "," & "0" & ")", False15 16 Dim id As Integer17 If Not IsNull(DLookup("id_deal", "q_id_deal")) Then18 id = DLookup("id_deal", "q_id_deal")19 'Else should never happen20 End If2122 For i = 0 To ls_price.ListCount23 If Not IsNull(ls_price.Column(0, i)) And Not IsNull(ls_price.Column(1, i)) And _24 Not IsNull(ls_price.Column(3, 0)) And Not IsNull(ls_price.Column(5, 0)) Then25 26 DoCmd.RunSQL "INSERT into [cars_drivers/deals] ([car], [driver], [deal],

[hours], [price]) VALUES " & _27 "(" & ls_price.Column(5, i) & "," & ls_price.Column(3, i) & "," & id & "," & _

Page 11: Transport company Microsoft Access data base, Technical manual

11r28 ls_price.Column(1, i) & "," & ls_price.Column(0, i) & ")", False29 30 End If31 Next i32 33 MsgBox "Deal added !", , "Info"34 End Sub3536 Private Sub calc_distance()37 If IsNull(i_src.Value) Or IsNull(i_dest.Value) Or i_src.Value = -1 Or i_dest.Value = -1 38 Exit Sub39 End If40 41 tx_distance.Value = 042 43 If i_src.Value = i_dest.Value Then44 MsgBox "You have choosen the same cities", , "Warinng"45 i_src.Value = -146 i_dest.Value = -147 Exit Sub48 End If49 50 Dim q As String51 Dim s_latitude, s_longitude As Integer52 Dim d_latitude, d_longitude As Integer53 54 q = "[id_city] = " & i_src.Value

55 If Not IsNull(DLookup("latitude", "cities", q)) And _56 Not IsNull(DLookup("longitude", "cities", q)) Then 'cannot be null57 s_latitude = DLookup("latitude", "cities", q)58 s_longitude = DLookup("longitude", "cities", q)59 60 q = "[id_city] = " & i_dest.Value61 If Not IsNull(DLookup("latitude", "cities", q)) And _62 Not IsNull(DLookup("longitude", "cities", q)) Then 'cannot be null63 d_latitude = DLookup("latitude", "cities", q)64 d_longitude = DLookup("longitude", "cities", q)65 66 tx_distance.Value = Int(Sqr((s_latitude - d_latitude) ^ 2 + (s_longitude -

d_longitude) ^ 2))67 End If68 End If69 End Sub7071 Private Sub i_dest_AfterUpdate()72 calc_distance73 End Sub7475 Private Sub i_src_AfterUpdate()76 calc_distance77 End Sub7879 Private Sub clear_form()80 ls_price.RowSource = ""81 i_price = 082 i_dest = -183 i_src = -184 i_date = Now()85 End Sub8687 Private Sub Polecenie26_Click()88 On Error GoTo Err_Polecenie26_Click89 90 clear_form91 92 Forms![f_main]![FormantKarta].Pages.Item(2).SetFocus93 94 Exit_Polecenie26_Click:95 Exit Sub9697 Err_Polecenie26_Click:98 MsgBox Err.Description99 Resume Exit_Polecenie26_Click

Page 12: Transport company Microsoft Access data base, Technical manual

12r100 101 End Sub102103 Private Sub Polecenie29_Click()104 105 If IsNull(ls_cars.Value) Then106 MsgBox "Choose car !", , "Warning"

107 Exit Sub108 End If109 If IsNull(tx_distance.Value) Or tx_distance.Value = 0 Then110 MsgBox "Choose source and destinaton", , "Warning"111 Exit Sub112 End If113 114 Dim car_info As String115 car_info = "Car " & ls_cars.Value116 Dim maxsp As Integer117 maxsp = 0118 119 Dim q As String120 q = "[id_car]=" & ls_cars.Value121 If Not IsNull(DLookup("type", "cars", q)) Then122 t = DLookup("type", "cars", q)123 q = "[id_car_type]=" & t124 If (Not IsNull(DLookup("[manufacturer]", "car_types", q))) And (Not

IsNull(DLookup("[model]", "car_types", q))) Then125 car_info = DLookup("[manufacturer]", "car_types", q) & " " &

DLookup("[model]", "car_types", q)126 End If127 If Not IsNull(DLookup("[maximal speed]", "car_types", q)) Then 'can not be null128 maxsp = DLookup("[maximal speed]", "car_types", q)129 End If130 End If131 132 Dim hours As Integer133 hours = Int(tx_distance.Value / (maxsp / 2))134 If tx_distance.Value Mod maxsp <> 0 Then135 hours = hours + 1136 End If137 138 Dim ok As Boolean139 ok = False140 141 Dim i As Integer142 For i = 0 To ls_drivers.ListCount143 If ls_drivers.Selected(i) Then144 ok = True145 q = "[id_driver]=" & ls_drivers.ItemData(i)146 If Not IsNull(DLookup("salary", "drivers", q)) Then147 salary = DLookup("salary", "drivers", q)148 149 ls_price.RowSource = ls_price.RowSource & _150 (hours * salary) & ";" & _151 hours & ";" & _152 DLookup("name", "drivers", q) & " " & _153 DLookup("surname", "drivers", q) & ";" & _154 ls_drivers.ItemData(i) & ";" & _155 car_info & ";" & _156 ls_cars.Value & ";"157 158 i_price = i_price + (hours * salary)

159 End If160 End If161 Next i162 163 If ok = False Then164 MsgBox "Choose drivers !", , "Warning"165 End If166 End Sub167168 Private Sub Polecenie30_Click()169 ls_price.RowSource = ""

Page 13: Transport company Microsoft Access data base, Technical manual

13r170 i_price = 0171 End Sub172173 Private Sub Polecenie33_Click()174 If ls_price.ListCount = 0 Then175 MsgBox "Choose drivers and car", , "Warning"176 Exit Sub177 End If178 179 Dim total As Integer180 total = 0181 182 Dim i As Integer183 For i = 0 To ls_price.ListCount184 If Not IsNull(ls_price.ItemData(i)) Then185 total = total + ls_price.ItemData(i)186 End If187 Next i188 189 price = total190 191 End Sub192 Private Sub Polecenie34_Click()

209 Private Sub Polecenie35_Click()210 On Error GoTo Err_Polecenie35_Click211

212 If ls_price.ListCount = 0 Then213 MsgBox "Choose drivers and car", , "Waring"214 Exit Sub215 End If216 217 If i_src = -1 Or i_dest = -1 Then218 MsgBox "Choose source and destination", , "Waring"219 Exit Sub220 End If221 222 If IsNull(i_date) Then223 MsgBox "Enter date"224 Exit Sub225 End If226 227 save_deal228 clear_form229 Forms![f_main]![FormantKarta].Pages.Item(2).SetFocus230231 Exit_Polecenie35_Click:232 Exit Sub233234 Err_Polecenie35_Click:235 MsgBox Err.Description236 Resume Exit_Polecenie35_Click237 238 End Sub

Page 14: Transport company Microsoft Access data base, Technical manual

14r

Formularz: f_carsFormularz: f_citiesFormularz: f_clientsFormularz: f_drivers

Są używane tylko do wyświetlania danych i nie zawierają żadnego kodu VBA.

Page 15: Transport company Microsoft Access data base, Technical manual

15r

Formularz: f_edit_car_types

Formularz: f_edit_cars

Formularz: f_edit_cities

Formularz: f_edit_clients

Formularz: f_edit_drivers

Zawierają tylko przyciski do nawigacji pomiędzy rekordami oraz przyciski Add, Undo i Delete, wszystkie utworzone dzięki kreatorom.

Formularz: f_main

Page 16: Transport company Microsoft Access data base, Technical manual

16rObiekty

Przycisk polecenia: b_default_browse

Pole tekstowe: date

Etykieta: date_Etykieta

Podformularz/Podraport: f_add_deals

Podformularz/Podraport: f_cars

Etykieta: f_cars Etykieta

Podformularz/Podraport: f_cities

Etykieta: f_cities Etykieta

Podformularz/Podraport: f_clients

Etykieta: f_clients Etykieta

Podformularz/Podraport: f_drivers

Etykieta: f_drivers Etykieta

Podformularz/Podraport: f_edit_car_types

Podformularz/Podraport: f_edit_cars

Podformularz/Podraport: f_edit_cities

Podformularz/Podraport: f_edit_clients

Podformularz/Podraport: f_edit_drivers

Podformularz/Podraport: f_search_clients

Podformularz/Podraport: f_search_drivers

FormantKarta

Grupa opcji: fr_edit

Etykieta: fr_edit_l

Grupa opcji: fr_search

Etykieta: fr_search_l

Pole tekstowe: i_login

Pole tekstowe: i_password

Page 17: Transport company Microsoft Access data base, Technical manual

17r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 56

Etykieta: id_deal_Etykieta

Etykieta: l_user_id

Pole listy: ls_deals

Pole wyboru: o_browse_car

Pole wyboru: o_browse_city

Pole wyboru: o_browse_client

Pole wyboru: o_browse_driver

Niezwiązana ramka obiektu: OLENiezwiązany11

Strona: p_add

Strona: p_browse

Strona: p_edit

Strona: p_help

Strona: p_home

Strona: p_login

Strona: p_main

Strona: p_options

Strona: p_reports

Strona: p_search

Strona: p_view

Kod1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_f_main"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False

10 Option Compare Database11

Page 18: Transport company Microsoft Access data base, Technical manual

18r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 58

12 Public g_user_id As Integer13 Public g_user_login As String14 Public g_user_type As Integer '0 == user, 1 == admin1516 Private Sub b_default_browse_Click()17 o_browse_client.Value = True18 o_browse_car.Value = True19 o_browse_driver.Value = True20 o_browse_city.Value = True21 22 Me![f_cities].Visible = True23 Me![f_cars].Visible = True24 Me![f_drivers].Visible = True25 Me![f_clients].Visible = True26 End Sub2728

363738 Private Sub o_browse_car_AfterUpdate()39 f_cars.Visible = Not f_cars.Visible40 End Sub4142 Private Sub o_browse_city_AfterUpdate()43 f_cities.Visible = Not f_cities.Visible44 End Sub4546 Private Sub o_browse_client_AfterUpdate()47 Me![f_clients].Visible = Not Me![f_clients].Visible48 End Sub4950 Private Sub o_browse_driver_AfterUpdate()51 Me![f_drivers].Visible = Not Me![f_drivers].Visible52 End Sub5354 Private Sub changeSearch(s As String)55 fr_search_l.Caption = s56 57 If s = "Client" Then58 f_search_drivers.Visible = False59 f_search_clients.Visible = True60 ElseIf s = "Driver" Then61 f_search_clients.Visible = False62 f_search_drivers.Visible = True63 End If64 End Sub

Page 19: Transport company Microsoft Access data base, Technical manual

19r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 59

6566 Private Sub Polecenie115_Click()67 changeSearch "Client"68 End Sub6970 Private Sub Polecenie117_Click()71 changeSearch "Driver"72 End Sub737475 Private Sub changeEdit(s As String)76 fr_edit_l.Caption = s77 78 If s = "Client" Then79 f_edit_cars.Visible = False80 f_edit_car_types.Visible = False81 f_edit_cities.Visible = False82 f_edit_drivers.Visible = False83 f_edit_clients.Visible = True84 ElseIf s = "Driver" Then85 f_edit_cars.Visible = False86 f_edit_car_types.Visible = False87 f_edit_cities.Visible = False88 f_edit_drivers.Visible = True89 f_edit_clients.Visible = False90 ElseIf s = "Car" Then91 f_edit_cars.Visible = True92 f_edit_car_types.Visible = True93 f_edit_cities.Visible = False94 f_edit_drivers.Visible = False95 f_edit_clients.Visible = False96 ElseIf s = "Cities" Then97 f_edit_cars.Visible = False98 f_edit_car_types.Visible = False99 f_edit_cities.Visible = True

100 f_edit_drivers.Visible = False101 f_edit_clients.Visible = False102 End If103 End Sub104105 Private Sub Polecenie125_Click()106 changeEdit "client"107 End Sub108109 Private Sub Polecenie127_Click()110 changeEdit "Driver"111 End Sub112113 Private Sub Polecenie129_Click()114 changeEdit "Car"115 End Sub116117 Private Sub Polecenie208_Click()

Page 20: Transport company Microsoft Access data base, Technical manual

20r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 60

118 changeEdit "Cities"119 End Sub120121122 Private Sub Polecenie147_Click()123 If IsNull(i_password) Or IsNull(i_login) Then124 MsgBox "Enter loginame and password", , "Warning"125 Else126 Dim q As String127 q = "[login]='" & Me![i_login] & "' AND [password]='" & Me![i_password] & "'"128 If IsNull(DLookup("id_user", "users", q)) Then129 MsgBox "Wrong password or loginame", , "Error"130 Else131 g_user_type = DLookup("type", "users", q)132 133 If g_user_type = 0 Then134 g_user_id = DLookup("client", "users", q)135 l_user_id.Caption = g_user_id136 ls_deals.RowSource = "SELECT d.[id_deal], cs.[name] AS source, cd.[name]

AS destination, d.[date], Sum([cars_drivers/deals].[price]) AS Suma FROM cities AS cs, cities AS cd, deals AS d INNER JOIN [cars_drivers/deals] ON d.[id_deal]=[cars_drivers/deals].deal WHERE cs.[id_city] = d.[source] And cd.[id_city] = d.[destination] And d.[client] = " & g_user_id & " GROUP BY d.[id_deal],

137 End If138 139 g_user_login = Me![i_login]140 141 'MsgBox "Welcome " & g_user_login & " (" & g_user_id & ") = " & g_user_type142143 p_help.Visible = True144145 If g_user_type = 0 Then146 p_view.Visible = True147 p_add.Visible = True148 p_home.Visible = True149 150 Me![f_add_deals]![i_client] = g_user_id151 152 Me![FormantKarta].Pages.Item(2).SetFocus153 ElseIf g_user_type = 1 Then154 p_edit.Visible = True155 p_browse.Visible = True156 p_options.Visible = True157 p_search.Visible = True158 p_main.Visible = True159 p_reports.Visible = True160 Me![FormantKarta].Pages.Item(1).SetFocus161 End If162 163 p_login.Visible = False164 165 End If166 End If167 End Sub

Page 21: Transport company Microsoft Access data base, Technical manual

21r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 61

168169 Private Sub Polecenie152_Click()170 ls_deals.RowSource = "SELECT deals.id_deal, deals.source, deals.destination,

deals.date, deals.price FROM deals WHERE deals.client = " & g_user_id171 End Sub172

185186 Private Sub Polecenie169_Click()187 Me![FormantKarta].Pages.Item(7).SetFocus188 End Sub189190 Private Sub Polecenie171_Click()191 Me![FormantKarta].Pages.Item(8).SetFocus192 End Sub193194 Private Sub Polecenie177_Click()195 Me![FormantKarta].Pages.Item(10).SetFocus196 End Sub197

263264 Private Sub Polecenie200_Click()265 On Error GoTo Err_Polecenie200_Click266267 Dim stDocName As String268269 Dim name As String270 271 Dim q As String272 q = "[id_client] = " & g_user_id

Page 22: Transport company Microsoft Access data base, Technical manual

22r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 63

273 If Not IsNull(DLookup("name", "clients", q)) And _274 Not IsNull(DLookup("surname", "clients", q)) Then275 name = DLookup("name", "clients", q) & " " & DLookup("surname", "clients", q)276 277 stDocName = "r_client"278 DoCmd.OpenReport stDocName, acPreview, , "[client] = '" & name & "'"279 280 'else should never happend281 End If282 283 Exit_Polecenie200_Click:284 Exit Sub285286 Err_Polecenie200_Click:287 MsgBox Err.Description288 Resume Exit_Polecenie200_Click289 End Sub290291 Private Sub Polecenie202_Click()292 Me![FormantKarta].Pages.Item(9).SetFocus293 End Sub294295296 Private Sub Polecenie91_Click()297 Me![FormantKarta].Pages.Item(3).SetFocus298299 End Sub300301 Private Sub Polecenie93_Click()302 Me![FormantKarta].Pages.Item(4).SetFocus303 End Sub304305 Private Sub Polecenie95_Click()306 Me![FormantKarta].Pages.Item(5).SetFocus307 End Sub308309 Private Sub Polecenie97_Click()310 Me![FormantKarta].Pages.Item(6).SetFocus311 End Sub312313 Private Sub Polecenie99_Click()314 Me![FormantKarta].Pages.Item(10).SetFocus315 End Sub316

373374 Private Sub Zaznacz43_AfterUpdate()375 f_cities.Visible = Not f_cities.Visible376 End Sub377 Private Sub Polecenie181_Click()378 On Error GoTo Err_Polecenie181_Click

Page 23: Transport company Microsoft Access data base, Technical manual

23r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_main Strona: 65

379380 Dim stDocName As String381382 stDocName = "deals"383 DoCmd.OpenReport stDocName, acPreview384385 Exit_Polecenie181_Click:386 Exit Sub387388 Err_Polecenie181_Click:389 MsgBox Err.Description390 Resume Exit_Polecenie181_Click391 392 End Sub

…………….410 Private Sub Polecenie199_Click()411 On Error GoTo Err_Polecenie199_Click412413 Dim stDocName As String414415 stDocName = "r_deals"416 DoCmd.OpenReport stDocName, acPreview417418 Exit_Polecenie199_Click:419 Exit Sub420421 Err_Polecenie199_Click:422 MsgBox Err.Description423 Resume Exit_Polecenie199_Click424 425 End Sub

Page 24: Transport company Microsoft Access data base, Technical manual

24r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_search_clients Strona: 66

Obiekty

Pole kombi: c_country

Pole tekstowe: c_name

Pole tekstowe: c_surname

Pole kombi: c_town

Pole listy: list

Kod1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_f_search_clients"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False

10 Option Compare Database1112 Private Sub changeList()13 Dim q As String14 q = "SELECT clients.id_client, clients.name, clients.surname, clients.address,

clients.telephone, clients.town, clients.[post code], clients.country FROM clients"15 16 Dim first As Boolean17 first = True18 19 If Not IsNull(c_name) Then20 If first = True Then21 first = False22 q = q & " WHERE "23 Else24 q = q & " And "

Page 25: Transport company Microsoft Access data base, Technical manual

25r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_search_clients Strona: 67

25 End If26 q = q & "clients.name = '" & c_name.Value & "'"27 End If28 29 If Not IsNull(c_surname) Then30 If first = True Then31 first = False32 q = q & " WHERE "33 Else34 q = q & " And "35 End If36 q = q & "clients.surname = '" & c_surname.Value & "'"37 End If38 39 If Not IsNull(c_town) Then40 If first = True Then41 first = False42 q = q & " WHERE "43 Else44 q = q & " And "45 End If46 q = q & "clients.town = '" & c_town.Value & "'"47 End If48 49 If Not IsNull(c_country) Then50 If first = True Then51 first = False52 q = q & " WHERE "53 Else54 q = q & " And "55 End If56 q = q & "clients.country = '" & c_country.Value & "'"57 End If58 59 list.RowSource = q60 End Sub6162 Private Sub c_country_AfterUpdate()63 changeList64 End Sub6566 Private Sub c_name_AfterUpdate()67 changeList68 End Sub6970 Private Sub c_surname_AfterUpdate()71 changeList72 End Sub7374 Private Sub c_town_AfterUpdate()75 changeList76 End Sub77

Page 26: Transport company Microsoft Access data base, Technical manual

26r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_search_drivers Strona: 69

Obiekty

Pole tekstowe: c_name

Pole kombi: c_salary

Pole tekstowe: c_surname

Pole listy: list

Kod1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_f_search_drivers"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False

10 Option Compare Database1112 Private Sub changeList()13 Dim q As String14 q = "SELECT drivers.id_driver, drivers.name, drivers.surname, drivers.salary FROM 15 16 Dim first As Boolean17 first = True18 19 If Not IsNull(c_name) Then20 If first = True Then21 first = False22 q = q & " WHERE "23 Else24 q = q & " And "25 End If26 q = q & "drivers.name = '" & c_name.Value & "'"27 End If28 29 If Not IsNull(c_surname) Then30 If first = True Then31 first = False32 q = q & " WHERE "

Page 27: Transport company Microsoft Access data base, Technical manual

27r

C:\rbd\transport.mdb 9 czerwca 2003Formularz: f_search_drivers Strona: 70

33 Else34 q = q & " And "35 End If36 q = q & "drivers.surname = '" & c_surname.Value & "'"37 End If38 39 If Not IsNull(c_salary) Then40 If first = True Then41 first = False42 q = q & " WHERE "43 Else44 q = q & " And "45 End If46 q = q & "drivers.salary = " & c_salary.Value47 End If48 49 list.RowSource = q50 End Sub5152 Private Sub c_name_AfterUpdate()53 changeList54 End Sub5556 Private Sub c_salary_AfterUpdate()57 changeList58 End Sub5960 Private Sub c_surname_AfterUpdate()61 changeList62 End Sub