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