Диалоговое окно Export



Диалоговое окно Export




Диалоговое окно Export Options



Диалоговое окно Export Options


С помощью кнопки Fields (Поля) можно открыть диалоговое окно Field Picker (Выбор поля), в котором выбрать поля исходной таблицы для экспорта (рис. 21.16).



Диалоговое окно Field Picker



Диалоговое окно Field Picker






Диалоговое окно Обзор



Диалоговое окно Обзор






Диалоговое окно Специальная вставка



Диалоговое окно Специальная вставка


Чтобы связать объект с его оригиналом на сервере, выберите переключатель Вставить связь. Выберите из списка Как формат объекта. Ссылка на объект запоминается в поле типа General (Общий). При каждом изменении оригинала объекта на сервере объект, выводимый в приложении Visual FoxPro, будет автоматически обновляться. Если в момент изменения оригинала приложение Visual FoxPro не открыто, обновление произойдет при первом же открытии приложения Visual FoxPro. Нажмите кнопку ОК для закрытия диалогового окна Специальная вставка.

Ссылка на OLE-объект, запоминаемая в поле типа General (Общий), содержит имя файла (включая путь к нему) оригинала объекта на сервере. Если вы измените имя этого файла, перенесете или удалите его, связь разрывается. Для восстановления связи необходимо воспользоваться командой Links (Связи) из меню Edit.



Диалоговое окно Связи



Диалоговое окно Связи


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

В диалоговом окне размещены кнопки, имеющие назначение, описанное в табл. 21.1.



Диалоговое окно Вставка объекта



Диалоговое окно Вставка объекта





Диалоговое окно Вставка объекта при выбранном переключателе Создать из файла



Диалоговое окно Вставка объекта при выбранном переключателе Создать из файла


Нажмите кнопку Обзор. В открывшемся диалоговом окне Обзор (рис. 21.8) выберите файл, содержащий необходимый объект. Для установки требуемого типа объекта необходимо использовать список Тип файлов, расположенный в нижней части диалогового окна. Выбрав файл, нажмите кнопку Открыть. Возвратившись в диалоговое окно Вставка объекта, нажмите кнопку ОК. OLE-объект будет размещен в поле типа General (Общий).

Связывание и внедрение объектов, экспорт и импорт данных


В Visual FoxPro имеется возможность хранить в таблицах сами объекты или связь с объектами, которые созданы в приложении, поддерживающем механизм связывания и внедрения (OLE). Основное отличие между связыванием и внедрением состоит в том, каким образом данные запоминаются и обновляются после того, как их поместили в базу данных.

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

Объект, который внедряется или связывается, называется OLE-объектом. Исходное приложение, в котором был создан OLE-объект, называется приложением-сервером, а приложение, в которое внедряется или с которым связывается OLE-объект, — приложением-клиентом.

Visual FoxPro и OLE-объекты

В Visual FoxPro OLE-объекты могут храниться и отображаться только в полях типа General (Общий). Для внедрения OLE-объекта в таблицу Visual FoxPro выполните следующие действия:

Создайте в таблице, предназначенной для хранения OLE-объекта, поле типа General. Откройте таблицу в режиме Browse (Обзор) (рис. 21.1), выполнив команду Browse (Обзор) из меню View (Вид) или нажав кнопку Browse (Обзор) окна проекта. Откроется окно просмотра таблицы.



Импорт данных



Импорт данных

В настоящем разделе мы обсудим импорт данных из форматов других приложений в таблицу Visual FoxPro. Для импорта данных воспользуемся услугами мастера.

Чтобы запустить мастера импорта данных в таблицу Visual FoxPro, в меню Tools (Сервис) выберите команду Wizards (Мастера), а затем Import (Импорт).



Использование данных из Visual FoxPro в Microsoft Word



Использование данных из Visual FoxPro в Microsoft Word

Данные, содержащиеся в таблицах Visual FoxPro, можно использовать в других приложениях Windows. Например, в Microsoft Word вы можете подготовить этикетки для наклейки на конверты для рассылки своим клиентам, используя для этого данные, размещенные в таблице Customer.

Для слияния данных из Visual FoxPro и Microsoft Word необходимо использовать мастер. Чтобы его запустить, в меню Tools (Сервис) выберите команду Wizards (Мастера) и в появившемся подменю — Mail Merge (Составление писем). Слияние данных осуществляется с помощью мастера за несколько шагов.

На первом шаге мастер предлагает выбрать таблицу и поля, используемые для слияния. Перенесите необходимые поля в список Selected fields (Выбранные поля) и нажмите кнопку Next (Далее).



Использование объектно-ориентированного программирования



Использование объектно-ориентированного программирования

В Visual FoxPro для управления OLE-объектами можно использовать объектно-ориентированное программирование.



Команда Insert Object



Команда Insert Object

Для размещения в поле таблицы Visual FoxPro OLE-объекта со связью с помощью команды Insert Object (Вставить объект) выполните следующие действия:

Откройте таблицу Goods в режиме Browse (Обзор). Перейдите в поле типа General (Общий) и дважды щелкните на нем для его открытия. Выберите в меню Edit (Правка) команду Insert Object (Вставить объект). В диалоговом окне Вставка объекта выберите переключатель Создать из файла. Нажмите кнопку Обзор. В открывшемся диалоговом окне Обзор выберите необходимый файл и нажмите кнопку Открыть. В диалоговом окне Вставка объекта установите флажок Связь (рис. 21.9) и нажмите кнопку ОК.

Команда Paste Special



Команда Paste Special

Для размещения в поле типа General (Общий) OLE-объекта со связью с помощью команды Paste Special (Специальная вставка) выполните следующие действия:

Откройте приложение-сервер и запомните связываемый объект во временном буфере Windows. Откройте окно редактирования поля типа General (Общий). В меню Edit (Правка) выберите команду Paste Special (Специальная вставка). На экране открывается диалоговое окно Специальная вставка (рис. 21.11). Объект, находящийся во временном буфере Windows, описан в диалоговом окне как Источник. В списке Как перечислены допустимые форматы для этого объекта.

Окно редактирования поля типа General



Окно редактирования поля типа General




Открытое приложение OLE-сервера для редактирования изображения



Открытое приложение OLE-сервера для редактирования изображения





Передача данных из Visual FoxPro в другие приложения



Передача данных из Visual FoxPro в другие приложения

Используя команды Export (Экспорт) и Import (Импорт) из меню File (Файл), можно осуществлять обмен данными между Visual FoxPro и текстовыми файлами, а также наиболее популярными базами данных и электронными таблицами.

Для экспорта данных из таблицы Visual FoxPro выполните команду Export (Экспорт) из меню File (Файл). Открывается диалоговое окно Export (Экспорт) (рис. 21.14), в котором из списка Туре (Тип) вам необходимо выбрать тип экспортируемого формата. Допустимые типы форматов приведены в табл. 21.2.



Передача данных в Microsoft Excel с помощью OLE



Передача данных в Microsoft Excel с помощью OLE

В рассматриваемом примере используем данные из таблицы cntcust для построения диаграммы распределения клиентов по городам в программе Microsoft Excel с помощью OLE-объектов,

В меню File (Файл) выберите команду New (Новый), установите опцию Program (Программа) и нажмите кнопку New file (Новый файл). Откроется новое окно редактирования программ. Для установления связи с Microsoft Excel, передачи в него данных и построения диаграммы введите следующие команды:

* Создание OLE-объекта

obj ExcelSheet=CreateObject("Excel.Sheet")

objExcelSheet.Application.Visible=.Т.

objExcelSheet = objExcelSheet.Sheets[1]

* Передача данных из таблицы CntCust в Excel

SELECT CNTCUST

nRow=0

SCAN

nRow=nRow+l

objExcelSheet.Cells(nRow,1).ValueCntCust.City

objExcelSheet.Cells(nRow,2).Value=CntCust.Quant

ENDSCAN

objChart = objExcelSheet.ChartObjects.Add{100, 100, 400, 200)

* Выделение данных и создание диаграммы

objExcelSheet.chartObjects(1).Chart.;

chartwizard(objExcelSheet.Range(objExcelSheet.Cells(1,1) ,;

objExcelSheet.Cells(nRow,2)),;

-4100,4,1,0,1,1,"","","","")

objExcelSheet.chartObjects(1).Select

objExcelSheet.chartObjects(1).Copy

* Закрытие сервера

objExcelSheet.application.quit

release objExcelSheet

Проверьте синтаксис и запустите программу на выполнение. Результат выполнения программы представлен на рис. 21.13.



Первый шаг работы мастера: выбор типа импортируемого файла



Первый шаг работы мастера: выбор типа импортируемого файла


На втором шаге работы мастера вам необходимо указать, создается свободная таблица или таблица, входящая в базу данных. Установите соответствующую опцию. Если импортируемая таблица будет размещена в базе данных, то укажите ее название и расположение. На следующих двух шагах вы можете просмотреть содержимое импортируемого файла, определить заголовки и типы создаваемых полей. На пятом шаге работы мастера импорта задаются форматы отображения дат, кодовых страниц, денежных единиц и чисел. После завершения установок на последнем шаге работы мастера нажмите кнопку Finish (Готово), и на основе данных импортируемого файла будет создана таблица Visual FoxPro.


Просмотр в режиме Browse таблицы, содержащей поля типа General



Просмотр в режиме Browse таблицы, содержащей поля типа General


Для вставки OLE-объекта дважды щелкните на поле типа General (Общий), содержащем значение gen. Откроется окно редактирования этого поля (рис. 21.2). В меню Edit (Правка) выберите команду Insert Object (Вставить объект). Откроется диалоговое окно Вставка объекта (рис. 21.3). Это диалоговое окно содержит два переключателя, предоставляющих два варианта включения OLE-объекта: Создать новый — позволяет создать новый OLE-объект и вставить его в поле; Создать из файла — позволяет разместить в поле таблицы OLE-объект из файла.

При выборе переключателя Создать новый выберите из предложенного списка Тип объекта сервер, который хотите использовать для создания объекта, и нажмите кнопку ОК. Откроется приложение, в котором создайте объект, после чего вернитесь в Visual FoxPro.

Для использования существующего объекта выберите переключатель Создать из файла. Диалоговое окно примет другой вид. Воспользовавшись кнопкой Обзор, найдите необходимый файл и вставьте его содержимое в поле таблицы.



Размещение в поле таблицы нового OLE-объекта



Размещение в поле таблицы нового OLE-объекта


Если вам потребуется внести изменения во встроенный OLE-объект, откройте таблицу в режиме Browse (Обзор) и дважды щелкните на требуемом значении. В результате откроется окно редактирования поля типа General (Общий). Для редактирования изображения используется команда Точечный рисунок Object (Объект) из меню Edit (Правка).

Данная команда имеет собственное меню, которое содержит опции Изменить и Открыть, определяющие режим редактирования изображения (см. рис. 21.5). При выборе опции Изменить меню и панели инструментов OLEсервера внедряются непосредственно в Visual FoxPro (см. рис. 21.4). При выборе опции Открыть открывается приложение OLE-сервера (рис. 21.6), в котором вы можете редактировать изображение поля типа General (Общий).



Редактирование OLE-объекта



Редактирование OLE-объекта

Большинство OLE-объектов можно редактировать. Для этого откройте окно редактирования поля типа General (Общий), содержащее, например, такие OLE-объекты, как электронная таблица Microsoft Excel, документ Word или рисунок Paint и дважды щелкните мышью. Откроется приложение-сервер для редактирования объекта.

Для редактирования точечных рисунков выберите команду Растровый рисунок Object (Объект) в меню Edit (Правка), а затем команду Изменить или Открыть, которые доступны в окне редактирования поля типа General (Общий). Для редактирования документа Word в меню Edit (Правка) появляется команда Документ Object, а для редактирования электронной таблицы — Лист Object (Объект).




Для запуска мастера импорта вы



Совет

Для запуска мастера импорта вы также можете воспользоваться командой Import (Импорт) из меню File (Файл). В этом случае на экране открывается диалоговое окно Import (Импорт), в котором необходимо нажать кнопку Import Wizard (Мастер импорта).
На первом шаге импорта данных с помощью мастера (рис. 21.17) вы указываете формат импортируемого файла, используя список File Type (Тип файла). С помощью кнопки Locate (Определить) вы задаете в поле Source File (Файл источника) имя исходного файла. Затем установкой соответствующей опции вам необходимо указать, в новую таблицу вы импортируете файл или в существующую, и задать имя таблицы. Завершив установку параметров, нажмите кнопку Next (Далее).


Перед запуском мастера закройте базу



Совет

Перед запуском мастера закройте базу данных.
На втором шаге необходимо указать, с каким редактором вы будете работать далее. По умолчанию установлена опция Microsoft Word. Нажмите кнопку Next (Далее) для перехода к следующему шагу. На третьем шаге мастер предлагает поместить данные в новый или уже существующий документ (рис. 21.23). При выборе переключателя Use existing document (Существующий документ) становится доступной кнопка File (Файл), открывающая диалоговое окно Open (Открыть) для выбора ранее подготовленного документа. Если вы хотите разместить данные во вновь создаваемом документе, то на четвертом шаге мастера необходимо определить тип создаваемого файла, выбрав один из переключателей группы Select a document type (Выбор типа документа). В табл. 21.3 описаны переключатели группы Select a document type (Выбор типа документа) и типы создаваемых файлов.



со связанного на внедренный необходимо



Совет

Для изменения объекта в поле типа General (Общий) со связанного на внедренный необходимо удалить объект из поля с помощью команды Cut (Вырезать) из меню Edit (Правка), а после этого вставить объект обратно в поле, но без связывания.
Если OLE-объект был размещен со связью, диалоговое окно Связи позволяет изменить или удалить установленную связь (рис. 21.12). Для его просмотра откройте требуемую таблицу, перейдите в поле со связанным объектом и в меню Edit (Правка) выберите команду Links (Связи).


Создание диаграммы с помощью OLE



Создание диаграммы с помощью OLE





Создание изображения товара



Создание изображения товара


Закройте сервер OLE. Для этого щелкните в любом месте окна вне области редактирования, после чего созданный вами объект будет размещен в поле типа General (Общий) (рис. 21.5).

Связывание OLE-объекта



Связывание OLE-объекта

Чтобы связать OLE-объект с основной копией объекта на сервере, можно воспользоваться командой Insert Object (Вставка объекта) или Paste Special (Специальная вставка) из меню Edit (Правка). Рассмотрим оба варианта.




Связывание OLE-объекта



Связывание OLE-объекта


В результате этих действий в окне просмотра поля типа General (Общий) появится значок файла (рис. 21.10). Чтобы изменить размещенный OLE-объект с использованием OLEсервера, откройте окно просмотра OLE-объекта и дважды щелкните кнопкой мыши на значке.



Назначение кнопок диалогового окна Связи



Таблица 21.1. Назначение кнопок диалогового окна Связи

Кнопка Назначение
Обновить сейчас Обновляет выделенную связь
Открыть источник Открывает исходный файл для выделенной связи
Сменить источник Заменяет исходный файл для выделенной связи с помощью диалогового окна Смена источника
Разорвать связь Разрывает указанную связь. В результате объект становится статическим, не допускающим изменения или обновления

Переключатель Обновление определяет режим обновления связи и содержит два переключателя: Автоматическое, Вручную. При установленной опции Автоматическое обновление связанных объектов осуществляется автоматически. Если установлена опция Вручную, тогда для обновления объектов необходимо нажать кнопку Обновить сейчас.




Типы экспортируемых форматов



Таблица 21.2. Типы экспортируемых форматов

Тип Кодовое обозначение Назначение
Visual FoxPro 3.0 (DBF) Копирование одной таблицы в другую
FoxPro для Windows 2.x (DBF) FOX2X Экспорт в формат FoxPro для Windows 2.x
FoxBASE+ (DBF) FOXPLUS Экспорт в формат FoxBASE+
dBASE IV (DBF) Экспорт в формат dBASE IV
Delimited Text Экспорт в текстовый файл с разделителями
Microsoft Excel 5.0 (XLS) XLS Экспорт в формат электронной таблицы Microsoft Excel 5.0
Microsoft Excel 2.0, 3.0 и 4.0 (XLS) XLS Экспорт в формат электронных таблиц Microsoft 2.0, 3.0 и 4.0
Lotus 1-2-3 2.x (WK1) WK1 Экспорт в формат электронной таблицы Lotus 1-2-3 2.x
Lotu s 1-2-31 -A (WKS) WKS Экспорт в формат электронной таблицы Lotus 1-2-3 1-А
Symphony 1.10 (WR1) WR1 Экспорт в формат электронной таблицы Symphony 1.10
Symphony 1.01 (WRK) WRK Экспорт в формат электронной таблицы Symphony 1.01
MultiPlan 4.01 (MOD) MOD Экспорт в формат электронной таблицы MultiPlan 4.01
Data Interchange Format (DIF) DIF Экспорт в текстовый файл, используемый приложением VisiCalc
System Data Format (SDF) SDF Экспорт в стандартный текстовый файл
Symbolic Link Format SYLK Экспорт в текстовый файл, используемый электронной таблицей MultiPlan

В поле ввода From (Форма) диалогового окно Export (Экспорт) необходимо указать имя экспортируемой таблицы, а в поле То (В) — имя файла, в который будет записываться результат экспорта.

После того как вы указали имя исходной таблицы, становится доступной кнопка Options (Параметры), при нажатии на которую открывается диалоговое окно Export Options (Параметры экспорта) (рис. 21.15). В этом диалоговом окне для выбора записей таблицы, экспортируемых в выходной файл, вы можете использовать кнопки Scope (Граница), For (Для), While (Пока).



Переключатели группы Select a document type



Таблица 21.3. Переключатели группы Select a document type

Переключатель Тип создаваемого документа
Form Letter Письмо
Label Этикетка
Envelope Конверт
Catalog Каталог

Выбрав необходимую опцию, нажмите кнопку Next (Далее) для перехода к последнему шагу мастера.

На последнем шаге работы мастера следует нажать кнопку Finish (Готово). Если установлен драйвер ODBC, то все завершится успешно. Запустится Microsoft Word и откроется документ Word, в котором будет установлена связь с выбранными данными. Разместите текст в документе. Для вставки полей установите курсор в требуемое место, нажмите кнопку Добавить поле слияния и выберите из раскрывающегося списка то поле, которое нужно. Поясняющий текст вставляется непосредственно в область ввода. Нажмите кнопку Объединить. Откроется окно Слияние, в котором вы можете указать параметры слияния. В нашем примере выберите из списка Назначение опцию Новый документ и оставьте остальные параметры без изменения. Возможность отбора записей не представляет большого интереса, т. к. средства создания запроса в Visual FoxPro намного богаче. Для окончательного объединения данных нажмите кнопку Объединить.


Удаление OLE-объекта



Удаление OLE-объекта

Чтобы удалить OLE-объект из поля типа General (Общий), выполните команду Clear (Очистить) из меню Edit (Правка).




Установлен флажок Связь



Установлен флажок Связь




Visual FoxPro и OLE-объекты



Visual FoxPro и OLE-объекты Внедрение нового OLE-объекта Внедрение OLE-объекта из файла Связывание OLE-объекта Команда Insert Object Команда Paste Special Редактирование OLE-объекта Удаление OLE-объекта Использование объектно-ориентированного программирования Передача данных в Microsoft Excel с помощью OLE Передача данных из Visual FoxPro в другие приложения Импорт данных Использование данных из Visual FoxPro в Microsoft Word


Внедрение нового OLE-объекта



Внедрение нового OLE-объекта

Рассмотрим процедуру внедрения нового OLE-объекта на примере поля gimage таблицы Goods.

В окне проекта установите курсор на таблицу Goods базы данных sales. Данная таблица содержит поле gimage типа General (Общий), в котором вы предполагаете разместить изображение товара. Чтобы открыть окно просмотра, выполните команду Browse (Обзор) из меню View (Вид) или нажмите кнопку Browse (Обзор) окна проекта. Для вставки OLE-объекта установите курсор на поле типа General (Общий) и дважды щелкните на нем. Откроется окно редактирования поля. Выполните команду Insert Object (Вставить объект) из меню Edit (Правка). В открывшемся диалоговом окне Вставка объекта в списке Тип объекта перечислены все OLE-серверы, установленные в вашей системе. В качестве примера выберите Рисунок Paintbrush. Нажмите кнопку ОК. Visual FoxPro откроет указанное вами приложение и разместит его меню и панели инструментов в своем главном окне. Создайте изображение товара, которое будет использовано в качестве нового OLE-объекта (рис. 21.4).

Внедрение OLE-объекта из файла



Внедрение OLE-объекта из файла

Для внедрения в поле таблицы OLE-объекта из файла выполните следующие действия.

Откройте таблицу в режиме Browse (Обзор). Установите курсор на поле типа General (Общий) и дважды щелкните кнопкой мыши. Откроется окно редактирования поля. В меню Edit (Правка) выберите команду Insert Object (Вставить объект). В открывшемся диалоговом окне Вставка объекта выберите переключатель Создать из файла. Окно примет вид, представленный на рис. 21.7.

в нем появляется пометка gen.



Замечание

Если поле типа General (Общий) пусто, то при просмотре таблицы в нем появляется пометка gen. Если поле содержит OLE-объект, то пометка принимает вид Gen.


В Visual FoxPro для хранения



Замечание

В Visual FoxPro для хранения сложных текстов можно использовать поле типа General (Общий), внедрив в него или связав с ним документ текстового процессора.


Наиболее простым способом формирования команд



Замечание

Наиболее простым способом формирования команд для выполнения действий над OLE-объектами является запись соответствующего макроса на сервере приложении и использование текста этого макроса в Visual FoxPro.


в Visual FoxPro предназначена команда



Замечание

Для создания OLE-объекта в Visual FoxPro предназначена команда CREATEOBJECT.