Описание
Задает или возвращает значение, определяющее, будут ли сообщения,
поступающие из источника данных ODBC, подключенного к ядру Microsoft
Jet регистрироваться в таблице сообщений (только в рабочей области
Microsoft Jet).
Перед тем как задать или прочитать значение свойства
LogMessages, необходимо создать это свойство с помощью метода
CreateProperty и добавить его в семейство Properties объекта
QueryDef.
Значение
Задаваемое или возвращаемое значение является выражением типа
Boolean, содержащим значение True, если задана регистрация
сообщений, генерируемых источником данных ODBC.
Замечания
Некоторые запросы к серверу могут возвращать не только данные,
но и сообщения. Если для свойства запроса LogMessages задано значение
True, то ядро базы данных Microsoft Jet создает в текущей базе
данных специальную таблицу, в которую помещаются возвращаемые сообщения.
Таблицам сообщений присваивается имя пользователя, к которому добавляется дефис
(-) и порядковые номера, начинающиеся с 00. Например, если по умолчанию
используется имя пользователя "Admin", то таблицы с возвращаемыми
сообщениями получат имена "Admin-00", "Admin-01" и т.д.
Если
ожидается поступление сообщений в запросе, следует создать определяемое
пользователем свойство LogMessages, добавить его в семейство объекта
QueryDef, установить тип данных Boolean и задать значение
True.
После того как данные в этих таблицах будут обработаны, можно
удалить временные таблицы из базы данных вместе с запросом, в результате
которого они были созданы.
Пример
Следующая программа использует свойства LogMessages и
ReturnsRecords для создания запроса к серверу, который будет возвращать
данные и любые сообщения, генерируемые удаленным сервером.
Sub LogMessagesX()
Dim wrkJet As Workspace
Dim dbsCurrent As Database
Dim qdfTemp As QueryDef
Dim prpNew As Property
Dim rstTemp As Recordset
' Создает объект Workspace Microsoft Jet.
Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
Set dbsCurrent = wrkJet.OpenDatabase("DB1.mdb")
' Создает объект QueryDef, который будет сохранять
' поступающие с сервера сообщения во временных таблицах.
Set qdfTemp = dbsCurrent.CreateQueryDef("NewQueryDef")
qdfTemp.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers"
qdfTemp.SQL = "SELECT * FROM stores"
qdfTemp.ReturnsRecords = True
Set prpNew = qdfTemp.CreateProperty("LogMessages", dbBoolean, True)
qdfTemp.Properties.Append prpNew
' Выполняет запрос и отображает результаты.
Set rstTemp = qdfTemp.OpenRecordset()
Debug.Print "Содержимое набора записей:"
With rstTemp
Do While Not .EOF
Debug.Print , .Fields(0), .Fields(1)
.MoveNext
Loop
.Close
End With
' Удаляет новый объект QueryDef, созданный для демонстрации.
dbsCurrent.QueryDefs.Delete qdfTemp.Name
dbsCurrent.Close
wrkJet.Close
End Sub