Студопедия
rus | ua | other

Home Random lecture






А. DDE. Простейший пример обмена данными


Date: 2015-10-07; view: 462.


Практическая работа 40. DDE

DDE

Рассмотрим примеры использования Microsoft Access в роли сервера DDE для приложения-клиента, запрашивающего и принимающего даные по каналу связи DDE. Сеанс связи начинается с открытия канала связи; при этом используется функцияDDEInitiate, в аргументе которой перечисляются: имя приложения (база данных Access), имя файла базы данных, имя таблицы; пример: intChan1 = DDEInitiate("MSAccess", "C:\Winnt\Profiles\Administrator\dde6;TABLE dde1")

После этого становится возможной передача данных в другое приложение по этому каналу. Для передачи требования на пересылку, например, текстовых данных из приложения-сервера по открытому каналу DDE используется функция DDERequest, в аргументе которой указывается номер канала связи и сформулирован запрос, пример: strResp1 = DDERequest(intChan1, "All"). После окончания передачи данных нужно вызвать в приложении-клиенте функцию DDETerminate для закрытия текущего канала обмена или функцию DDETerminateAll для закрытия всех каналов связи.

Задание: записать в файл результат запроса к данным таблицы базы данных (Access).

Порядок выполнения:

1. создать базу данных (здесь - dde6), таблицу (здесь - dde1), сделать запрос, закрыть приложение Access,

2. создать макрос в приложении Word, код макроса дан ниже,

3. стартовать макроc; в результате его выполнения стартует закрытое ранее приложение Access,

4. открыть файл dde61.txt (в редакторе Блокнот).

Sub dde6()' макрос в приложении Word,Dim intChan1 As Integer ' канал связиDim strResp1 As Variant ' требование на запрос' открыть канал связиintChan1 = DDEInitiate("MSAccess",_"C:\Winnt\Profiles\Administrator\dde6;TABLE dde1")strResp1 = DDERequest(intChan1, "All") ' требование на запросDDETerminate intChan1 ' закрыть текущий канал связиOpen "dde61.txt" For Output As #1 ' открыть файл для записиWrite #1, strResp1 ' записать результат запросаClose #1 ' закрыть файлEnd Sub

Содержимое полученного файла dde61.txt - это результат запроса ("All"): вывести всeсодержимое таблицы базы данных,


Рис. 6.1.Простейший пример DDE; данные, выводимые в файл


<== previous lecture | next lecture ==>
Обмен данными | Элемент управления OLE
lektsiopedia.org - 2013 год. | Page generation: 0.004 s.