Описание
Создает новый объект TableDef (только в рабочей области ядра Microsoft Jet).
Set таблица = базаДанных.CreateTableDef (имя, атрибуты, источник, подключение)
Параметры
таблица
Объектная переменная, представляющая создаваемый объект TableDef.
базаДанных
Объектная переменная, представляющая объект Database, который используется при создании нового объекта TableDef.
имя
Необязательный. Выражение или переменная типа Variant (подтип String), содержащая уникальное имя нового объекта TableDef. Дополнительные сведения о допустимых именах объектов TableDef приведены в разделе для свойства Name.
атрибуты
Необязательный. Константа или комбинация констант, задающая одну или несколько характеристик нового объекта TableDef. Дополнительные сведения приведены в разделе для свойства Attributes.
источник
Необязательный. Выражение или переменная типа Variant (подтип String), задающая имя таблицы внешней базы данных, являющейся источником данных. Строка источник становится значением свойства SourceTableName нового объекта TableDef.
подключение
Необязательный. Выражение или переменная типа Variant (подтип String), содержащая информацию об источнике данных открытой базы данных, о базе данных, используемой в запросе к серверу, или о присоединенной таблице. Дополнительные сведения о допустимых строках подключения приведены в разделе для свойства Connect.
Замечания
Если один или несколько необязательных элементов синтаксиса опущены при вызове метода CreateTableDef, допускается использование соответствующих инструкций присваивания для задания или изменения значения соответствующего свойства перед добавлением нового объекта в семейство. После добавления нового объекта в семейство допускается изменение значений некоторых (но не всех) свойств таблицы. Дополнительные сведения приведены в разделах, посвященных конкретным свойствам.
Если аргумент имя указывает на объект, который уже добавлен в семейство или если для добавляемого объекта TableDef или Field заданы недопустимые значения свойств, то при вызове метода Append возникает ошибка выполнения. Кроме того, добавление объекта TableDef в семейство TableDefs невозможно до описания по крайней мере одного объекта Field в объекте TableDef.
Для удаления объекта TableDef из семейства TableDefs следует применить метод Delete к семейству.
Пример
В данном примере с помощью свойств Connect и ReturnsRecords из базы данных на сервере Microsoft SQL Server отбираются пять книг, имеющих максимальные результаты продаж за год. Если обнаруживается совпадение в результатах продаж, размер выводящегося списка увеличивается и выводится сообщение с объяснением причины.
Sub ClientServerX1() Dim dbsCurrent As Database Dim qdfPassThrough As QueryDef Dim qdfLocal As QueryDef Dim rstTopFive As Recordset Dim strMessage As String ' Открывает базу данных, для которой будут ' созданы объекты QueryDef. Set dbsCurrent = OpenDatabase("DB1.mdb") ' Создает запрос к серверу для загрузки данных ' из базы данных Microsoft SQL Server. Set qdfPassThrough = dbsCurrent.CreateQueryDef("ВсеНазвания") qdfPassThrough.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers" qdfPassThrough.SQL = "SELECT * FROM titles " & "ORDER BY ytd_sales DESC" qdfPassThrough.ReturnsRecords = True ' Создает временный объект QueryDef для загрузки ' данных из запроса к серверу. Set qdfLocal = dbsCurrent.CreateQueryDef("") qdfLocal.SQL = "SELECT TOP 5 title FROM ВсеНазвания" Set rstTopFive = qdfLocal.OpenRecordset() ' Отображает результаты запросов. With rstTopFive strMessage = "Первые 5 бестселлеров:" & vbCr Do While Not .EOF strMessage = strMessage & " " & !Title & vbCr .MoveNext Loop If .RecordCount > 5 Then strMessage = strMessage & "(В списке " & vbCr & .RecordCount & " книг, так как несколько имеют одинаковые результаты)" End If MsgBox strMessage .Close End With ' Удаляет новый запрос к серверу, созданный только для ' демонстрации. dbsCurrent.QueryDefs.Delete "ВсеНазвания" dbsCurrent.Close End Sub