Access 2002

После копирования данных


На этом же рисунке вы видите диаграмму, которую нам предстоит обновить после копирования данных.

Ниже перед вами строка кода, удаляющего старые данные. Обратите  на то, что в ней используется метод Range объекта Worksheet, возвращающий ссылку на именованный диапазон (заранее определенный в электронной таблице).

Теперь можно скопировать результаты запроса в электронную таблицу Excel. Наиболее простым и быстрым способом для этого является вызов метода Сору- FromRecordset объекта Range. Этот метод принимает объект ADO Recordset и за одну операцию перемещает его в область электронной таблицы Excel. Альтернативой был бы цикл по ячейкам диапазона с записью в них нужных данных. Однако, поскольку Excel является сервером внешнего процесса, каждый ее вызов дорого обходится в смысле времени и ресурсов. В предыдущих изданиях книги для извлечения данных из массива Variant, созданного на основе объекта Recordset, мы использовали методы FormulaArray и Transpose объекта Range. Хотя эти методы являются достаточно быстродействующими, они не работают, если в данных встречаются нули.

Последнее, что нам осталось, — переопределить источник диаграммы, чтобы она правильно отражала новые данные. С помощью метода Union объекта Excel Application мы объединяем данные, полученные на предыдущем этапе, с ячейками В2 и С2, содержащими заголовки данных для диаграммы. Они понадобятся методу ChartWizard, который назначит новым источником данных для диаграммы наш набор ячеек:

Для тестирования процедуры UpdateAi rportStats вам нужно скопировать на свой жесткий диск файл STATREQ.XLS — в тот же каталог, в котором находится база данных CH10.MDB.

Комментарии закрыты