Вставка рабочего листа Excel в форму или отчет

С помощью таких элементов управления, как Свободная рамка объекта и Присоединенная рамки объекта, в формах и отчетах Access можно отображать не только различные графические объекты, но и листы Microsoft Excel.

Так же как и рисунок, лист Microsoft Excel можно внедрить в форму или отчет или связать его с ними. При этом вставленный лист автоматически сохраняется в файле базы данных и всегда является доступным. Если обновить такой объект в форме или отчете, он будет изменен только в базе данных. Если лист Microsoft Excel связан, его можно просматривать и вносить изменения в форме или отчете. При этом изменения cохраняются в исходном файле объекта, а не в файле базы данных. Файл объекта можно обновлять независимо от базы данных. Последние изменения будут выведены на экран при следующем открытии формы или отчета. Связывание объектов удобно при работе с очень большими файлами, которые нежелательно включать в файл базы данных, а также с файлами, используемыми в нескольких формах и отчетах. Если связанный файл объекта перемешен, необходимо повторно установить с ним связь.

Рассмотрим возможность вставки листа Microsoft Excel в форму и отчет Microsoft Access с помощью свободной рамки объекта. Чтобы вставить новый лист Microsoft Excel в форму Microsoft Access, необходимо:

  1. Открыть форму или отчет в режиме Конструктора.
  2. Добавить в нее элемент управления Свободная рамка объекта (Unbound Object Frame). При этом в окне Microsoft Access выбрать переключатель Создать новый (Create New), а в списке Тип объекта (Object Type) выбрать Лист Microsoft Excel (Microsoft Excel Worksheet) (рис. 15.10). Если файл XLS уже создан, выберите переключатель Создать из файла (Create From File) и введите путь и имя нужного файла.

Окно Microsoft Access при вставке нового листа Microsoft Excel в форму Microsoft Access с помощью свободной рамки объекта

Рис. 15.10. Окно Microsoft Access при вставке нового листа Microsoft Excel в форму Microsoft Access с помощью свободной рамки объекта

  1. Когда в форме появится элемент управления, в котором отображается пустая таблица Excel, введите в нее данные (это можно сделать прямо в режиме Конструктора) (рис. 15.11). Если вы вставляли готовый файл, то сразу будет отображена таблица Excel (рис. 15.12).

Ввод данных на лист Microsoft Excel в режиме Конструктора форм Microsoft Access

Рис. 15.11. Ввод данных на лист Microsoft Excel в режиме Конструктора форм Microsoft Access

Использование свободной рамки объекта для вставки существующего листа Microsoft Excel в форму Microsoft Access

Рис. 15.12. Использование свободной рамки объекта для вставки существующего листа Microsoft Excel в форму Microsoft Access

  1. Чтобы сделать доступным изменение данных на листе в режиме Формы, установите значение свойства Доступ (Enabled) для вставленного элемента управления равным Да (Yes), а свойство Блокировка (Locked) — Нет (No).

Увидеть данные, расположенные на листе Microsoft Excel, можно, открыв форму в режиме Формы. Чтобы иметь возможность изменять или добавлять данные на лист, нужно дважды щелкнуть кнопкой мыши на листе Microsoft Excel в форме (рис. 15.13).

Ввод данных на лист Microsoft Excel в режиме Формы

Рис. 15.13. Ввод данных на лист Microsoft Excel в режиме Формы

При работе с отчетами Microsoft Access следует выполнять аналогичную пошаговую процедуру. Увидеть данные, расположенные на листе Microsoft Excel, можно, открыв отчет в режиме просмотра.

Использование присоединенной рамки объекта для вставки листа Microsoft Excel в форму <b> Microsoft Access

Рис. 15.14. Использование присоединенной рамки объекта для вставки листа Microsoft Excel в форму Microsoft Access

Рассмотрим теперь возможность вставки листов Microsoft Excel с помощью присоединенной рамки объекта. В этом случае листы Excel будут храниться в записях таблицы Access (более разумным представляется хранить не сами таблицы, а ссылки на них, т. е. не внедрять листы Excel, а связывать их с таблицей Access). Сначала в таблице должно быть создано поле типа Объект OLE (OLE Object), которое будет содержать листы Excel. Затем в форме, отображающей записи этой таблицы, должен быть создан элемент Присоединенная рамка объекта (Bound Object Frame), связанный с этим полем. Вставка листа Microsoft Excel в поле таблицы или формы может быть выполнена с помощью команды меню Вставка, Объект (Insert, Object), как это уже описывалось ранее. На рис. 15.14 и 15.15 представлены примеры вставки листа Microsoft Excel в форму и отчет Access.

Использование присоединенной рамки объекта для вставки листов Microsoft Excel в отчет Microsoft Access

Рис. 15.15. Использование присоединенной рамки объекта для вставки листов Microsoft Excel в отчет Microsoft Access