Самоучитель VBA


         

Файл произвольного доступа


При последовательном доступе файл рассматривается как последовательность строк фиксированной длины, причем при открытии указывается длина строки. Благодаря этому становится возможным переход на любую запись по ее номеру.

Рис. У14.2. Диалоговое окно для работы с файлом произвольного доступа

Приведенная ниже программа реализует простейшую базу данных с помощью файла произвольного доступа. Данный файл предназначен для хранения информации о студентах: фамилии, имени и группе. Диалоговое окно информация о студентах позволяет перемещаться от записи к записи, редактировать существующие и создавать новые записи. Переход от записи к записи производится при помощи счетчика. Отметим, что заголовок диалогового окна является переменным: при создании нового файла или записи в заголовок выводится информация о студентах, а при выводе информации о текущем студенте — его имя и фамилия. При активизации диалогового окна доступными для пользователя являются только поле со списком и кнопка открытие файла. В поле со списком отображаются все файлы текущей папки с расширением dat. Пользователь может выбрать файл из этого списка или ввести в поле имя нового файла. После ввода имени файла поле со списком и кнопка Открытие файла становятся недоступными для пользователя, а все остальные элементы управления, наоборот, становятся доступными. На стандартном листе модуля описан пользовательский тип студенттуре, который используется в модуле UserForm1 для объявления переменной данного типа. Эта переменная задает структуру в файле произвольного доступа. Имя открываемого или вновь создаваемого файла вводится в переменную ИмяФайла. Свободный номер для файла получается при помощи функции FreeFile и записывается в переменную Номер.

Итак, в редакторе форм создадим диалоговое окно для работы с файлом произвольного доступа (рис. У14.2).

Обсудим, как приведенная ниже программа решает описанную задачу и что в ней происходит.

UserForm Initialize

  1. Активизирует диалоговое окно.

  2. При помощи процедуры Управление задает режим доступа к элементам управления. Пользователю доступны только поле и кнопка Открытие файла .

    Задает первоначальный заголовок диалогового окна и надписи с номером текущей записи. 4. Выводит рисунки (стрелки) на поверхность двух кнопок.

Нажатие кнопки Открытие файла запускает на выполнение процедуру

CommandButton4_Click

  1. Открывает или создает файл по имени, которое введено в поле со списком Открытие файла .

  2. Считывает первую запись из файла в диалоговое окно при помощи процедуры Показать Запись .

  3. При помощи процедуры Управление задает режим доступа к элементам управления: пользователю теперь недоступны поле со списком и кнопка Открытие файла, а все остальные элементы управления, наоборот, становятся доступными.

    В надписи с номером текущей записи выводится также общее число записей открытого файла.

SpinButton1

  1. Устанавливает границы изменения счетчика. Отметим, что верхняя граница значения счетчика — число записей, может изменяться по ходу программы.

  2. Выводит текущее значение счетчика в пол Номер записи .

  3. Считывает текущую запись из файла в диалоговое окно при помощи процедуры показать Запись .

<

Содержание  Назад  Вперед