• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.


  • Иллюстрированный самоучитель по Microsoft Access 2002

    Программное изменение структуры и схемы данных

    Для изменения схемы данных создан язык определения данных (DDL, Data-Definition Language). Инструкции на языке DDL позволяют выполнять действия по изменению схемы данных и структуры объектов данных, например:

    • создавать и удалять таблицы;
    • добавлять и удалять из таблиц поля и индексы;
    • создавать и удалять связи между таблицами.

    В интерфейсе DАО имеется набор специальных объектов, который является интерфейсом для доступа к средствам DDL. Таким образом, с помощью объектов DАО можно управлять структурой таблиц и схемой данных, не составляя самих инструкций на языке DDL.

    Следующий пример программного кода (программа 16.4) взят из процедуры initGame сервера приложения "Игра в доминирование". Этот пример иллюстрирует использование инструкций на языке DDL для удаления таблицы со старой структурой и создания новой таблицы с заданной структурой. Аналогичные действия можно выполнить, пользуясь объектно-ориентированным интерфейсом DАО. Целью этой процедуры является изменение структуры таблицы "ПолеИгрок", поэтому, вообще говоря, можно было бы изменить набор полей этой таблицы с помощью инструкции DDL ALTER TABLE. Эта инструкция позволяет удалить или добавить в таблицу поле или составной индекс. Удаление и добавление полей в таблицу средствами DDL через интерфейс DАО представлено в программе 16.5.

    Замечание
    Необходимо помнить о том, что изменение структуры связанных таблиц запрещено. Поэтому в примере (программы 16.4 и 16.5) для доступа к таблице "ПолеИгрок" открывается база данных DominationGame.mdb, в которой сохранена эта таблица, а не используется текущая база данных DominationGameServer.mdb, в которой установлена связь с этой таблицей
    .

    Программа 16.4. Удаление и создание таблицы с помощью инструкций DDL

    Dim db As Database
    Dim fieldSize As Long, i As Long
    Dim strDDL As String
    'Узнаем линейный размер игрового поля, выраженный в клетках
    fieldSize = CLng(get_parameter("РазмерПоля"))
    'Открываем базу данных, в которой хранится нужная таблица
    Set db = OpenDatabase(CurrentProject.Path & "\DominationGame.mdb")
    'Удалить старую таблицу "ПолеИгрок" strDDL = "DROP TABLE ПолеИгрок;"
    'Если таблица не существует, удаление вызовет ошибку
    On Error GoTo the_next_2
    db.Execute strDDL the_next_2:
    On Error GoTo 0 'Создать новую таблицу "ПолеИгрок"
    strDDL = "CREATE TABLE ПолеИгрок"
    For i = 1 To fieldSize - 1
    strDDL = strDDL & get_column_name(i) & "TEXT(20),"
    Next i
    strDDL = strDDL & get_column_name(fieldSize) & "TEXT(20));"
    db.Execute strDDL
    'Прочие действия...db.Close

    Программа 16.5. Изменение структуры таблицы с помощью интерфейса DАО

    Dim db As Database
    Dim fieldSize As Long, i As Long
    Dim strSQL As String
    Dim fid As Field
    'Узнаем линейный размер игрового поля, выраженный в клетках
    fieldSize = CLng(get_parameter("РазмерПоля"))
    'Открываем базу данных, в которой хранится нужная таблица
    Set db = OpenDatabase(CurrentProject.Path & "\DominationGame.mdb")
    'Удалить старые записи в таблице "ПолеИгрок"
    StrSQL = "DELETE * FROM ПолеИгрок;" db.Execute strSQL
    'Удалить старые поля в таблице "ПолеИгрок"
    For i = 1 To db.TableDefs("ПолеИгрок").Fields.Count
    db.TableDefs("ПолеИгрок").Fields.Delete
    get_column_name(i) Next
    'Создать новые поля в таблице "ПолеИгрок"
    For i = 1 To fieldSize
    Set fid = db.TableDefs("ПолеИгрок").CreateField(_ get_column_name(i), dbText, 20)
    db.TableDefs("ПолеИгрок").Fields.Append fid
    Next I
    'Прочие действия...
    db.Close

    В программе 16.5 проиллюстрировано удаление и добавление полей в таблицу "ПолеИгрок" средствами DDL с использованием интерфейса DАО. Удаление поля производится с помощью метода Delete, в качестве параметра которого указывается имя удаляемого поля. Добавление нового поля производится следующим образом. Создается новый объект Field, обладающий необходимыми характеристиками – заданным именем поля, типом и размером данных. После этого с помощью метода Append созданный объект Field добавляется в семейство Fields объекта TableDef, содержащее все поля таблицы "ПолеИгрок". Аналогично (с помощью DАО) можно выполнить создание и удаление таблиц и индексов.

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.