Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
2022-10-29 | 25 |
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!