С помощью функции DDE можно начать сеанс DDE с другим приложением, запросить из него информацию и вывести ее в элементе управления в форме или отчете.
Например, можно использовать функцию DDE в свойстве ControlSource текстового поля для отображения данных из указанной ячейки на листе Excel.
Синтаксис
DDE( приложение, документ, раздел )
Функция DDE имеет следующие аргументы:
Ар гумент |
Описание |
---|---|
приложение |
строковое выражение, определяющий приложение, которое может участвовать в беседе DDE. Обычно приложение — это имя файла .exe (без расширения .exe) для приложения Microsoft Windows, например Excel. Например, чтобы инициировать беседу DDE в Excel, введите "Excel" в качестве аргумента приложения . |
документ |
Строковое выражение, которое является именем тема распознается приложением. Аргумент документ часто является документом или файлом данных. Список допустимых документов см. в документации приложения. |
раздел |
Строковое выражение, которое является именем элемент данных распознается приложением. Список возможных элементов см. в документации другого приложения. |
Замечания
Функция DDE пытается запустить сеанс DDE с указанным приложением и документом и запрашивает данные в разделе. Если ей это удается, функция DDE возвращает строку, содержащую запрашиваемые данные.
При запросе данных из Excel разделом может быть идентификатор строки и столбца, например ""R1C1"", или имя диапазона ячеек. В следующем примере функция DDE запрашивает данные ячейки в строке 1 и столбце 1 листа Excel. Это выражение можно ввести в поле Данные текстового поля на странице свойств элемента управления:
=DDE("Excel", "Sheet1", "R1C1")
Функцию DDE можно использовать только в свойстве Данные текстового поля, группы переключателей, флажка или поля со списком. Нельзя вызывать функцию DDE из модуля Visual Basic для приложений (VBA).
При использовании функции DDE элемент управления становится доступным только для чтения в представление формы и предварительном просмотре. Например, если вы используете функцию DDE в текстовом поле, текст в текстовом поле нельзя изменить. Текст необходимо изменить в другом приложении. Так как свойство ControlSource доступно только для чтения в представлении формы и предварительном просмотре, изменения в элементе управления необходимо вносить в Конструктор.
Максимальное количество сеансов DDE, которые можно открыть одновременно, определяется памятью и ресурсами компьютера и Microsoft Windows. Если не удается начать сеанс, так как другое приложение не запущено или не распознает указанный документ либо уже достигнуто максимальное количество сеансов, функция DDE возвращает NULL.
Примечание: Другое приложение может быть настроено таким образом, что будет игнорировать запросы на сеанс DDE. В этом случае функция DDE возвращает значение NULL. Кроме того, можно настроить Access таким образом, чтобы он игнорировал запросы от других приложений: в меню Файл выберите команду Параметры Access, в диалоговом окне Параметры приложения выберите пункт Дополнительно. В группе Операции DDE установите флажок Пропуск команд DDE.
Совет
Для управления объектами других приложений из Access можно воспользоваться автоматизацией.
В следующей таблице показано, как работает функция DDE при использовании с каждым из элементов управления.
Эле мент управления |
Замечания |
---|---|
Текстовое поле |
Аргумент раздел может ссылаться на текст или числа. Если раздел ссылается более чем на одну единицу данных, например на именованный диапазон листа Excel, который содержит несколько ячеек, функция DDE возвращает первую запись. Эту функцию можно использовать с текстовым полем, чтобы отображать данные, содержащиеся в ячейке листа. |
Поле со списком |
Функция DDE заполняет поле со списком данными, на которые ссылается аргумент раздел. Вводить данные в текстовую часть поля нельзя. Функцию DDE можно использовать с полем со списком, чтобы отобразить список стран и регионов, хранящийся в листе Excel. |
Группа переключателей |
Для свойства OptionValue каждого переключателя в группе задан номер. Как правило, номер первого переключателя — 1, второго — 2 и т. д. Возвращаемое функцией DDE число определяет, какой переключатель будет выбран. Например, если функция DDE возвращает 2, будет выбран второй переключатель. Если функция возвращает значение, не соответствующее ни одному из возможных значений свойства OptionValue, переключатель выбран не будет. Если раздел ссылается более чем на одну единицу данных, например на именованный диапазон листа Excel, который содержит несколько ячеек, функция DDE возвращает первую запись. |
Флажок |
Если функция DDE возвращает 0, флажок будет снят. Если она возвращает значение, отличное от нуля, например 1 или -1, флажок будет установлен. Если раздел ссылается на текст или более чем на одну единицу данных, например именованный диапазон на листе Excel, который содержит несколько ячеек, флажок будет недоступен. |