Описание
Задает или возвращает значение, определяющее, будут ли сообщения, поступающие из источника данных 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