Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2022-10-29 | 26 |
5.00
из
|
Заказать работу |
Приведем пример процедур создания базы “Строительство” из трех связанных таблиц “Стройки”, “Населенные пункты”, “Заказчики” (п. 9.1) и запроса “Стройки по заказчикам”.
Private Sub Command1_ Click() ‘создание пустой базы “Строительство“
Dim db As Database, tdf As TableDef, fld As Field, qdf As QueryDef
Dim idx As Index, relnew As Relation, SQLstr As String, I As Integer
On Error GoTo proc_ err 'переход на процедуру обработки ошибок
'создание в каталоге приложения (App.Path) пустой базы “Строительство“
Set db=DBEngine.CreateDatabase(App.Path+“\Строительство“, dbLangCyrillic)
For i=db.Relations.Count ‑ 1 To 0 Step -1 'удаление существующих связей
If db.Relations(i).Name = “Заказчики“ Or _
db.Relations(i).Name = “НаселенныеПункты“ Then ‘ связь есть
Set relnew=db.Relations(i):db.Relations.Delete relnew.Name ' удаление ee
End If
Next 'окончание цикла удаления связей
For i=db.TableDefs.Count-1 To 0 Step -1'удаление существующих таблиц
If db.TableDefs(i).Name = “Стройки“ Or _
db.TableDefs(i).Name = “Заказчики“ _
Or db.TableDefs(i).Name = “Населенные пункты“ Then 'таблица есть
Set tdf = db.TableDefs(i): db.TableDefs.Delete tdf.Name 'удаление таблицы
End If ‘окончание оператора If
Next 'окончание цикла удаления таблиц
Set tdf = db. CreateTableDef(“Стройки“) 'создание таблицы “Стройки“
Set fld = tdf.CreateField(“NS“, dbText, 50) 'определение поля Ns
tdf.Fields.Append fld 'добавление, ранее определенного, поля в таблицу
Set fld = tdf.CreateField(“Knp“,dbByte) : tdf.Fields.Append fld 'поле Knp
Set fld = tdf.CreateField(“Kz“, dbByte) : tdf.Fields.Append fld 'поле Kz
Set fld = tdf.CreateField(“Dn“, dbDate) : tdf.Fields.Append fld 'поле Dn
Set fld = tdf.CreateField(“Ss“, dbCurrency): tdf.Fields.Append fld 'поле Ss
Set fld = tdf.CreateField(“Sf“, dbCurrency): tdf.Fields.Append fld 'поле Sf
Set fld = tdf.CreateField(“M“, dbText, 50): tdf.Fields.Append fld 'поле M
db.TableDefs.Append tdf 'добавление ранее определенной таблицы в базу
Set idx = tdf. CreateIndex(“ indnsknpkz“) 'создание индекса indnsknpkz
idx.Fields.Append idx.CreateField(“Ns“) 'добавление поля Ns в индекс
idx.Fields.Append idx.CreateField(“Knp“) 'добавление поля Knp в индекс
idx.Fields.Append idx.CreateField(“Kz“) 'добавление поля Kz в индекс
idx.Primary = True ' установка признака первичного ключа
tdf.Indexes.Append idx ' добавление ключа в массив ключей таблицы
Set tdf= db. CreateTableDef(“Заказчики“) 'создание таблицы “Заказчики“
Set fld = tdf.CreateField(“Kz“, dbByte): tdf.Fields.Append fld 'поле Kz
Set fld = tdf.CreateField(“Nz“, dbText, 30): tdf.Fields.Append fld 'поле Nz
db.TableDefs.Append tdf 'добавление ранее определенной таблицы в базу
Set idx = tdf. CreateIndex(“ indkz“) ' создание индекса “ indkz“
idx.Fields.Append idx.CreateField(“Kz“) 'добавление поля Kz в индекс
idx.Primary = True ' установка признака первичного ключа
tdf.Indexes.Append idx ' добавление ключа в массив ключей таблицы
'установка связи под именем “Заказчики“ между родительской (главной) ‘таблицей “Заказчики“ и дочерней (внешней) таблицей ‘“Стройки“ по полю Kz с ‘каскадной корректировкой подчиненных записей
Set relnew = db.CreateRelation(“Заказчики“, _
“Заказчики“, “Стройки“, dbRelationUpdateCascade)
relnew.Fields.Append relnew.CreateField(“Kz“) 'добавление поля Kz в связь
relnew.Fields!kz.ForeignName = “Kz“ 'имя поля связи в таблице “Стройки“
db.Relations.Append relnew 'добавление связи в массив связей базы
Set tdf = db. CreateTableDef(“Населенные пункты“) 'создание таблицы
Set fld = tdf.CreateField(“Knp“, dbByte): tdf.Fields.Append fld 'поле Knp
Set fld = tdf.CreateField(“Nnp“, dbText, 30): tdf.Fields.Append fld 'поле Nnp
db.TableDefs.Append tdf 'добавление ранее определенной таблицы в базу
Set idx = tdf.CreateIndex(“indknp“): idx.Fields.Append idx.CreateField(“Knp“)
idx.Primary = True: tdf.Indexes.Append idx 'создание первичного индекса
'установка связи под именем “НаселенныеПункты“ между родительской ‘(главной)таблицей “НаселенныеПункты“ и дочерней (внешней) таблицей ‘”Стройки“ по полю Knp с каскадной корректировкой подчиненных записей
Set relnew = db.CreateRelation(“НаселенныеПункты“, _
“Населенные пункты“, “Стройки“, dbRelationUpdateCascade)
relnew.Fields.Append relnew.CreateField(“Knp“) 'добавление Knp в связь
relnew.Fields!knp.ForeignName = “Knp“ 'имя поля связи в таблице
db.Relations.Append relnew 'добавление связи в массив связей базы
'формирование запроса под именем “Стройки по заказчикам“
For i = 0 To db. QueryDefs. Count - 1 'удаление существующего запроса
If db.QueryDefs(i).Name = “Стройки по заказчикам“ Then 'запрос уже есть
Set qdf = db.QueryDefs(i): db.QueryDefs.Delete qdf.Name 'удаление его
Exit For 'выход из цикла
End If
Next 'окончание цикла удаления запросов
SQLstr = “Select * From [Стройки] Order By Kz“ ' команда запроса
Set qdf= db. CreateQueryDef(“Стройки по заказчикам“, SQLstr) 'запрос
db.Close ' закрытие созданной базы
Exit Sub 'выход из процедуры
proc_ err: 'блок обработки ошибок
MsgBox (“Описание: “ & Err.Description + “ Код ошибки: “ & _
Err.Number & “ Источник ошибки: “ & Err.Source) ' вывод сообщения
If Err.Number = 3204 Then 'база уже существует и ее открытие далее
Set db=DBEngine.Workspaces(0).OpenDatabase(App.Path+“\Строительство“)
Resume Next 'переход к следующей команде (ошибка игнорируется)
End If
End Sub
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!