Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание базы данных своими руками
До сих пор мы работали с базами данных, созданных средствами Access. С его помощью базы создавались быстро, без особых проблем. Однако может наступить время, когда Вам понадобится из программы создать базу, таблицы, определить поля в таблице, или уже к готовой базе добавить таблицы, удалить таблицы или поля и так далее. Этакая динамическая БД. Демонстрационная программа создает базу шаг за шагом. Все лишнее из программы убрано, поэтому для корректного выполнения необходимо два условия:
1. Ранее такой базы не должно существовать 2. Кнопки на форме щелкать сверху вниз последовательно (впрочем, последовательность задается принудительно свойством Enabled)
База данных создается в несколько приемов, причем их последовательность строго определена, иначе Вы, в лучшем случае, получите базу без таблиц. Примечания: Не забудьте в форму поместить элемент управления данными Data и сделать его невидимым. База будет располагаться на рабочем столе.
Форма: (В свойствах кнопок 2, 3 и 4 => Enabled = False)
Код: 'создание объектных переменных Dim db As Database ‘для базы данных Dim tbl As TableDef ‘для таблицы Dim fld As Field ‘для полей таблицы
Private Sub createDB_Click() Set db = DBEngine.Workspaces(0).CreateDatabase _ (" c: \windows\Рабочий стол\ПробнаяБД.mdb", dbLangGeneral) ‘делаем доступной вторую кнопку createTbl.Enabled = True End Sub
Private Sub createTbl_Click() 'создаем таблицу ДЛЯ базы данных (не в базе!!!) Set tbl = db.CreateTableDef(" Таблица") createFld.Enabled = True End Sub
Private Sub createFld_Click() 'создаем поле для таблицы Set fld = tbl.CreateField(" Поле", dbText, 20) 'добавляем поле в таблицу tbl.Fields.Append fld addTable.Enabled = True End Sub
Private Sub addTable_Click() 'а вот ТЕПЕРЬ созданную таблицу (с полем!) можно добавить в базу! db.TableDefs.Append tbl End Sub
Примечание: Если в строке типа Set fld = tbl.CreateField(" Поле", dbText, 20) не указать размер текстового поля (здесь = 20), то по умолчанию он будет 255 символов.
Создавать таблицу в базе можно несколько иначе: Данный пример открывает существующую базу данных и создает в ней таблицу с полями:
Форма:
Код:
'создание объектных переменных Dim db As Database Dim tbl As TableDef
Private Sub createDB_Click() Set db = OpenDatabase(" C: \Program Files\SchoolDB\SchoolDB.mdb") End Sub
Private Sub Command1_Click() Set tbl = db.CreateTableDef(" Таблица") With tbl .Fields.Append.CreateField(" Фамилия", dbText) .Fields.Append.CreateField(" Имя", dbText) .Fields.Append.CreateField(" Отчество", dbText) .Fields.Append.CreateField(" Дата рождения", dbDate) .Fields.Append.CreateField(" Год рождения", dbInteger) db.TableDefs.Append tbl End With End Sub
А теперь сделайте самостоятельно следующее: На предыдущую форму поместите кнопку «Добавить таблицу в БД» и добавьте новое поле (запрашивая имя поля у пользователя) в существующую таблицу.
Как это делается (сначала самостоятельно):
Dim dbOpen As Database Dim NewTbl As TableDef
Set dbOpen = OpenDatabase(" c: \Program Files\SchoolDB\SchoolDB.mdb") Set NewTbl = dbOpen.TableDefs(“Таблица”)
With NewTbl .Fields.Append.CreateField(“Новое поле”, dbText) End With dbOpen.Close
Кроме создания таблиц в базах данных, нужно еще уметь и удалять эти таблицы. Это делается так:
Set dbOpen = OpenDatabase(" c: \Program Files\SchoolDB\SchoolDB.mdb") Set NewTbl = dbOpen.TableDefs(“Имя Таблицы”)
|