- •17. Программирование с объектами dao. Создание базы данных. Пример (фрагмент).
- •18. Программирование с объектами dao. Связывание таблиц. Связывание таблиц внешних баз данных. Пример (фрагмент).
- •21. Программирование с объектами dao. Создание переменной RecordSet. Перемещение по набору записей. Пример (фрагмент).
- •22.Программирование с объектами dao. Работа с полями объекта RecordSet. Создание запросов.
- •16.Объектая модель dao. Объекты dbEngine, Workspace, Database, TableDef, QueryDef, RecordSet, Container, Relation, Document, Field, Index, Error, Parametr. Пример (фрагмент).
- •1 Вопрос.
- •2 Вопрос.
- •3 Вопрос.
- •4 Вопрос.
- •Динамический обмен данными dde. Свойства dde. Пример (фрагмент).
- •Свойство LinkMode
- •Свойство LinkTopic
- •Свойство Linkltem
- •Свойство LinkTimeout
- •25.Динамический обмен данными dde. События dde. Пример (фрагмент).
- •Метод LinkRequest
- •Метод LinkPoke
- •Метод LinkExecute
- •26. Динамический обмен данными dde. Методы dde. Пример (фрагмент).
- •Событие LinkNotify
- •Событие LinkError
26. Динамический обмен данными dde. Методы dde. Пример (фрагмент).
События DDE
-
Событие LinkNotify
Событие LinkNotify происходит, как только в исходном приложении изменяются связанные данные. Сообщение источника об изменении данных поступает в Visual Basic и анализируется в соответствующей процедуре:
Private Sub Form_Load ()
Textl.LinkMode = vbLinkNone
Textl.LinkTopic = "Excel I[mapl] Лист!"
Textl.Linkltem 3 "R1C1"
Textl.LinkMode = vbLinkNotify End
Sub
Private Sub Textl_LinkNotify()
iReply = MsgBox("Обновить?", vbYesNo)
If iReply = vbYes Then
Textl.LinkRequest
End If End
Sub
В процедуре Form_Load создается DDE-связь между приложением Excel и элементом у правления Textl. Если в и сходном приложении данные изменяются, появляется окно сообщений (МеззадеВох), в котором пользователь может указать, следует ли обновлять данные. Событие LinkNotify вызывается только при наличии связи с уведомлением (vbLinkNotify) для соответствующего элемента управления,
а не автоматической связи или связи по запросу.
-
Событие LinkError
Событие LinkError наступает при возникновении ошибки в DDE-связи, например если закрылся источник, в то время как связь существует, или при попытке создать более 128 связей в приложении. Другие ошибки, иногда возникающие при создании связи, рассматриваются как обычные ошибки времени выполнения.
Private Sub Form_Load () On Error Goto appstart
Textl.LinkMode 3 vbLinkNone Textl.LinkTopic "=
appname S "I" & topic Textl.Linkltem 3 item
Textl.LinkMode = vbLinkAutomatic Exit Sub
appstart:
If Err.Number = 282 Then
ret» = Shell(appname & ".exe" & " /" & topic, 6) Resume Else
MsqBox Err.Description Stop End If
End Sub
В этом примере предпринимается попытка установить связь с приложением Visual Basic. Если возникает определенная ошибка выполнения (приложение не запущено), то запускается требуемое приложение с нужным открытым документом.