Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Sub Proga()
- Dim ws As Workspace
- Dim db As Database
- Dim fld As Field
- Dim query As QueryDef
- Dim rec1, rec2 As Recordset
- Dim t1, AviaticketsDAO, FlightDAO, CompanyDAO, CostumerDAO, TicketsAlter As TableDef
- Set db = CurrentDb
- 'Создание таблиц AviaticketsDAO
- Set t1 = db.CreateTableDef("AviaticketsDAO")
- Set fld = t1.CreateField("Code", dbInteger, 10)
- t1.Fields.Append fld
- Set fld = t1.CreateField("Flight", dbInteger, 20)
- t1.Fields.Append fld
- Set fld = t1.CreateField("Company", dbInteger, 10)
- t1.Fields.Append fld
- Set fld = t1.CreateField("Costumer", dbInteger, 10)
- t1.Fields.Append fld
- Set fld = t1.CreateField("Route", dbText, 20)
- t1.Fields.Append fld
- Set fld = t1.CreateField("Price", dbInteger, 20)
- t1.Fields.Append fld
- db.TableDefs.Append t1
- 'Создание таблиц FlightDAO
- db.Execute "Create table FlightDAO ( ID INTEGER PRIMARY KEY,[Flight name] char,AviaCompany integer,[Date of departure] date,[Date of arrival] date,[Place of departure] char, [Place of arrival] char)"
- db.Execute "Create table CostumerDAO ( Id INTEGER PRIMARY KEY,Surname char,Name char,Born date, NumPassport Integer,[E-mail] char,PhoneNum Integer)"
- db.Execute "Create table CompanyDAO ( Id INTEGER PRIMARY KEY,Name char,Sertificate Integer,[E-mail] char)"
- db.Execute "Create table TicketsAlter ( Code Integer, Flight Integer, Company Integer,Costumer Integer, Route char,Price Integer,Id INTEGER PRIMARY KEY)"
- db.Execute "alter table AviaticketsDAO add id INTEGER PRIMARY KEY"
- 'Заполнение таблицы AviaticketsDAO
- db.Execute "insert into AviaticketsDAO values(234230, 1, 1 , 2, 'roundtrip',12354,1)"
- db.Execute "insert into AviaticketsDAO values(2242309, 2, 3 , 1, 'one end',1234,2)"
- db.Execute "insert into AviaticketsDAO values(3223443, 3, 2 , 4, 'roundtrip',34354,3)"
- db.Execute "insert into AviaticketsDAO values(4232343, 4, 3 , 4, 'one end',12324,4)"
- db.Execute "insert into AviaticketsDAO values(5234233, 2, 5 , 2, 'one end',10004,5)"
- db.Execute "insert into AviaticketsDAO values(6234457, 5, 4 , 3, 'roundtrip',16430,5)"
- 'Заполнение таблицы FlightDAO
- db.Execute "insert into FlightDAO values(1,'isd342',1,'20.03.2008','21.03.2008','Bankok','Moscow')"
- db.Execute "insert into FlightDAO values(2,'ih42',1,'20.05.2008','21.05.2008','Deli','Moscow')"
- db.Execute "insert into FlightDAO values(3,'is342',1,'05.02.2008','06.02.2008','Tashkent','Osh')"
- db.Execute "insert into FlightDAO values(4,'ij342',1,'25.07.2008','26.07.2008','Novosibirsk','Bisha')"
- db.Execute "insert into FlightDAO values(5,'iy427',1,'02.12.2008','03.12.2008','Omsk','Moscow')"
- db.Execute "insert into FlightDAO values(6,'i32342',1,'22.10.2008','23.10.2008','Bishkek','Novosibirsk')"
- 'Заполнение таблицы CostumerDAO
- db.Execute "insert into CostumerDAO values(1,'Chekov','Den','21.05.1987',124543,'ivan@mail.ru',75673165)"
- db.Execute "insert into CostumerDAO values(2,'Chekov','Ben','21.05.1986',2879543,'ben@mail.ru',7956756165)"
- db.Execute "insert into CostumerDAO values(3,'Bigikov','Len','21.05.1997',824543,'len@gmail.ru',7955673165)"
- db.Execute "insert into CostumerDAO values(4,'Bekov','Efin','21.05.1967',454543,'efka@mail.ru',795643165)"
- db.Execute "insert into CostumerDAO values(5,'lokov','Kul','21.05.1993',154543,'kuli@mail.ru',7956278165)"
- db.Execute "insert into CostumerDAO values(6,'Lukov','Mark','21.05.1988',1244593,'marlo@mail.ru',7956372165)"
- 'Заполнение таблицы CompanyDAO
- db.Execute "insert into CompanyDAO values(1,'banana',124543,'banana@gmail.ru')"
- db.Execute "insert into CompanyDAO values(2,'avia-traffic',84543,'avia.ru')"
- db.Execute "insert into CompanyDAO values(3,'air-bus',7964543,'air.com')"
- db.Execute "insert into CompanyDAO values(4,'S7',124543,'s7.ru')"
- db.Execute "insert into CompanyDAO values(5,'kg air',1243534,'air.kg')"
- 'Заполнение таблицы TicketsAlter данными за таблицы AviaticketsDAO
- db.Execute "insert into TicketsAlter SELECT TOP 5 * FROM AviaticketsDAO"
- 'Обновление Price из таблицы AviaticketsDAO, если Price>13000
- db.Execute "update AviaticketsDAO set Price=((AviaticketsDAO.Price)/2) where (((AviaticketsDAO.Price)>13000))"
- 'SQL Запросы
- Set query = db.CreateQueryDef("4_1 all", "SELECT *FROM AviaticketsDAO")
- Set query = db.CreateQueryDef("4_2 compute", "SELECT AviaticketsDAO.Code, AviaticketsDAO.Flight, AviaticketsDAO.Route,AviaticketsDAO.Costumer,AviaticketsDAO.Price, Costumer*Price AS AllPrice FROM AviaticketsDAO")
- Set query = db.CreateQueryDef("4_3 Count", "SELECT AviaticketsDAO.Costumer, count(*) AS Count FROM AviaticketsDAO GROUP BY AviaticketsDAO.Costumer")
- Set query = db.CreateQueryDef("4_4 Parametrical", "SELECT AviaticketsDAO.Code, AviaticketsDAO.Flight, AviaticketsDAO.Costumer FROM AviaticketsDAO WHERE (((AviaticketsDAO.Route)=[input route]))")
- db.Execute "alter table AviaticketsDAO add Surname char"
- Set query = db.CreateQueryDef("4_5 Comune", "SELECT AviaticketsDAO.id, AviaticketsDAO.Flight, CostumerDAO.Surname FROM AviaticketsDAO INNER JOIN CostumerDAO ON AviaticketsDAO.Costumer = CostumerDAO.Id")
- 'Удалить данные в таблице TicketsAlter если Price<10
- db.Execute " delete from TicketsAlter where Price<10"
- 'Последовательно изменить все цены, большие порога , на равные порогу
- Set rec1 = db.OpenRecordset("AviaticketsDAO", dbOpenTable)
- rec1.MoveFirst
- While Not rec1.EOF
- rec1.Edit
- If rec1!Price > 13000 Then
- rec1!Price = rec1!Price / 2
- Else
- rec1!Price = rec1!Price
- End If
- rec1.Update
- rec1.MoveNext
- Wend
- db.Close
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement