Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Public Sub Proga()
  2.     Dim ws As Workspace
  3.     Dim db As Database
  4.     Dim fld As Field
  5.     Dim query As QueryDef
  6.     Dim rec1, rec2 As Recordset
  7.     Dim t1, AviaticketsDAO, FlightDAO, CompanyDAO, CostumerDAO, TicketsAlter As TableDef
  8. Set db = CurrentDb
  9. 'Создание таблиц AviaticketsDAO
  10. Set t1 = db.CreateTableDef("AviaticketsDAO")
  11.  
  12. Set fld = t1.CreateField("Code", dbInteger, 10)
  13. t1.Fields.Append fld
  14.  Set fld = t1.CreateField("Flight", dbInteger, 20)
  15. t1.Fields.Append fld
  16.  Set fld = t1.CreateField("Company", dbInteger, 10)
  17. t1.Fields.Append fld
  18.  Set fld = t1.CreateField("Costumer", dbInteger, 10)
  19. t1.Fields.Append fld
  20.  Set fld = t1.CreateField("Route", dbText, 20)
  21. t1.Fields.Append fld
  22.  Set fld = t1.CreateField("Price", dbInteger, 20)
  23. t1.Fields.Append fld
  24. db.TableDefs.Append t1
  25.  
  26. 'Создание таблиц FlightDAO
  27. 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)"
  28.  
  29. db.Execute "Create table CostumerDAO ( Id INTEGER PRIMARY KEY,Surname char,Name char,Born date, NumPassport Integer,[E-mail] char,PhoneNum Integer)"
  30.  
  31. db.Execute "Create table CompanyDAO ( Id INTEGER PRIMARY KEY,Name char,Sertificate Integer,[E-mail] char)"
  32.  
  33. db.Execute "Create table TicketsAlter ( Code Integer, Flight Integer, Company Integer,Costumer Integer, Route char,Price Integer,Id INTEGER PRIMARY KEY)"
  34.  
  35. db.Execute "alter table AviaticketsDAO add id INTEGER PRIMARY KEY"
  36.  
  37. 'Заполнение таблицы AviaticketsDAO
  38. db.Execute "insert into AviaticketsDAO values(234230, 1, 1 , 2, 'roundtrip',12354,1)"
  39. db.Execute "insert into AviaticketsDAO values(2242309, 2, 3 , 1, 'one end',1234,2)"
  40. db.Execute "insert into AviaticketsDAO values(3223443, 3, 2 , 4, 'roundtrip',34354,3)"
  41. db.Execute "insert into AviaticketsDAO values(4232343, 4, 3 , 4, 'one end',12324,4)"
  42. db.Execute "insert into AviaticketsDAO values(5234233, 2, 5 , 2, 'one end',10004,5)"
  43. db.Execute "insert into AviaticketsDAO values(6234457, 5, 4 , 3, 'roundtrip',16430,5)"
  44.  
  45. 'Заполнение таблицы FlightDAO
  46. db.Execute "insert into FlightDAO values(1,'isd342',1,'20.03.2008','21.03.2008','Bankok','Moscow')"
  47. db.Execute "insert into FlightDAO values(2,'ih42',1,'20.05.2008','21.05.2008','Deli','Moscow')"
  48. db.Execute "insert into FlightDAO values(3,'is342',1,'05.02.2008','06.02.2008','Tashkent','Osh')"
  49. db.Execute "insert into FlightDAO values(4,'ij342',1,'25.07.2008','26.07.2008','Novosibirsk','Bisha')"
  50. db.Execute "insert into FlightDAO values(5,'iy427',1,'02.12.2008','03.12.2008','Omsk','Moscow')"
  51. db.Execute "insert into FlightDAO values(6,'i32342',1,'22.10.2008','23.10.2008','Bishkek','Novosibirsk')"
  52.  
  53.  'Заполнение таблицы CostumerDAO
  54. db.Execute "insert into CostumerDAO values(1,'Chekov','Den','21.05.1987',124543,'ivan@mail.ru',75673165)"
  55. db.Execute "insert into CostumerDAO values(2,'Chekov','Ben','21.05.1986',2879543,'ben@mail.ru',7956756165)"
  56. db.Execute "insert into CostumerDAO values(3,'Bigikov','Len','21.05.1997',824543,'len@gmail.ru',7955673165)"
  57. db.Execute "insert into CostumerDAO values(4,'Bekov','Efin','21.05.1967',454543,'efka@mail.ru',795643165)"
  58. db.Execute "insert into CostumerDAO values(5,'lokov','Kul','21.05.1993',154543,'kuli@mail.ru',7956278165)"
  59. db.Execute "insert into CostumerDAO values(6,'Lukov','Mark','21.05.1988',1244593,'marlo@mail.ru',7956372165)"
  60.  
  61.  'Заполнение таблицы CompanyDAO
  62. db.Execute "insert into CompanyDAO values(1,'banana',124543,'banana@gmail.ru')"
  63. db.Execute "insert into CompanyDAO values(2,'avia-traffic',84543,'avia.ru')"
  64. db.Execute "insert into CompanyDAO values(3,'air-bus',7964543,'air.com')"
  65. db.Execute "insert into CompanyDAO values(4,'S7',124543,'s7.ru')"
  66. db.Execute "insert into CompanyDAO values(5,'kg air',1243534,'air.kg')"
  67.  
  68.  'Заполнение таблицы TicketsAlter данными за таблицы AviaticketsDAO
  69. db.Execute "insert into TicketsAlter SELECT TOP 5 * FROM AviaticketsDAO"
  70.  
  71.  'Обновление Price из таблицы AviaticketsDAO, если Price>13000
  72. db.Execute "update AviaticketsDAO set Price=((AviaticketsDAO.Price)/2) where (((AviaticketsDAO.Price)>13000))"
  73.  
  74. 'SQL Запросы
  75.     Set query = db.CreateQueryDef("4_1 all", "SELECT *FROM AviaticketsDAO")
  76.      
  77.      Set query = db.CreateQueryDef("4_2 compute", "SELECT AviaticketsDAO.Code, AviaticketsDAO.Flight, AviaticketsDAO.Route,AviaticketsDAO.Costumer,AviaticketsDAO.Price, Costumer*Price AS AllPrice FROM AviaticketsDAO")
  78.      
  79.      Set query = db.CreateQueryDef("4_3 Count", "SELECT AviaticketsDAO.Costumer, count(*) AS Count FROM AviaticketsDAO GROUP BY AviaticketsDAO.Costumer")
  80.      
  81.      Set query = db.CreateQueryDef("4_4 Parametrical", "SELECT  AviaticketsDAO.Code, AviaticketsDAO.Flight, AviaticketsDAO.Costumer FROM AviaticketsDAO WHERE (((AviaticketsDAO.Route)=[input route]))")
  82.      
  83.      db.Execute "alter table AviaticketsDAO add Surname char"
  84.      
  85.      Set query = db.CreateQueryDef("4_5 Comune", "SELECT  AviaticketsDAO.id, AviaticketsDAO.Flight, CostumerDAO.Surname FROM AviaticketsDAO INNER JOIN CostumerDAO ON AviaticketsDAO.Costumer = CostumerDAO.Id")
  86.      
  87. 'Удалить данные в таблице TicketsAlter если Price<10
  88. db.Execute " delete from TicketsAlter where Price<10"
  89.  
  90. 'Последовательно изменить все цены, большие порога , на равные порогу
  91. Set rec1 = db.OpenRecordset("AviaticketsDAO", dbOpenTable)
  92.     rec1.MoveFirst
  93.     While Not rec1.EOF
  94.         rec1.Edit
  95.         If rec1!Price > 13000 Then
  96.         rec1!Price = rec1!Price / 2
  97.         Else
  98.         rec1!Price = rec1!Price
  99. End If
  100.         rec1.Update
  101.         rec1.MoveNext
  102. Wend
  103.  
  104. db.Close
  105.  
  106. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement