Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

Задание: записать в файл результат запроса к данным таблицы базы данных (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

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

В. DDE

Приводится аналогичный пример; создаются 4 таблицы: student, (рис. 6.2 рис. 6.3) stipendija, sessija, prikaz; выполняются 4 запроса (рис. 6.4 рис. 6.5), создается макрос в приложении Word (см. код, данный ниже), открываются 4 канала связи, результаты 4-х запросов по 4-м каналам связи выводятся в файлы dde621 - dde624. Пояснения к коду макроса:

· All - вывести все данные из таблиц, включая имена полей,

· FildNames, T - вывести список из 2-х строк, содержащий имена полей (первая строка) и их типы данных (вторая строка).

Sub dde62() ' макрос в приложении WordDim intChan1 As Integer, intChan2 As Integer, intChan3 As IntegerDim intChan4 As Integer, strResp1 As Variant, strResp2 As VariantDim strResp3 As Variant, strResp4 As VariantintChan1 = DDEInitiate(" MSAccessquot;, quot; A: \nin; TABLE Studentquot;)intChan2 = DDEInitiate(quot; MSAccessquot;, quot; A: \nin; TABLE Stipendiumquot;)

Рис. 6.2. Таблица Pruefung

Рис. 6.3. Таблица Student

Рис. 6.4. Запрос

Рис. 6.5. Результат запроса

intChan3 = DDEInitiate(" MSAccess", " A: \nin; TABLE Pruefung")intChan4 = DDEInitiate(" MSAccess", " A: \nin; QUERY Befehl")strResp1 = DDERequest(intChan1, " All")strResp2 = DDERequest(intChan2, " All")strResp3 = DDERequest(intChan3, " FieldNames; T")strResp4 = DDERequest(intChan4, " All")DDETerminate intChan1: DDETerminate intChan2DDETerminate intChan3: DDETerminate intChan4Open " dde621.txt" For Output As #1Write #1, strResp1Close #1Open " dde622.txt" For Output As #1Write #1, strResp2Close #1Open " dde623.txt" For Output As #1Write #1, strResp3Close #1Open " dde624.txt" For Output As #1Write #1, strResp4Close #1End Sub

OLE

При реализации обмена данными приложений данные/наборы данных могут представлять собой связанные или внедрeнные объекты. Связывание (Link) используется, если нужно, чтобы при изменении данных в исходном файле данные в другом файле также изменялись. Внедрение используется, если нужно использовать конечный файл (на другом компьютере) и нежелательно изменение данных в нeм при изменении исходных данных Связанный объект - это объект, созданный в одном файле и вставленный в другой файл с поддержкой связи между файлами; связанный объект не является частью файла, в который он вставлен. При обновлении исходного файла связанный объект автоматически обновляется. Внедрeнный объект является частью файла, в который он вставлен. При двойном щелчке на связанном объекте он открывается в приложении, в котором он был создан; при двойном щелчке на внедрeнном объекте появляется возможность редактирования его средствами текущего приложения.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.