Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Нужно получить названия полей из таблицы в том порядке в котором они находятся  [new]
Volan
Member

Откуда:
Сообщений: 79
Здравствуйте
Аксесс 2002, файл mdb.
Есть таблица "Размеры" в ней 4 поля "Код", ширина, глубина, высота - внесены именно в такой последовательности.
Обращаюсь к таблице и считываю названия полей
получаю высота, глубина, код, ширина.
Как избавится от этой ненужной сортировки?

CatCur.ActiveConnection = CurrentProject.Connection
Set TargetTbl = CatCur.Tables("Размеры")
n = TargetTbl.Columns.Count

For i = 0 To n - 1
Names.Add TargetTbl.Columns(i).Name
Next i

через OpenSchema тот же эффект

Set rstShema = CurrentProject.Connection.OpenSchema(adSchemaColumns)
Do Until rstShema.EOF
If rstShema.Fields("TABLE_NAME") = "Размеры" Then
Names.Add rstShema.Fields("COLUMN_NAME").Value
End If
rstShema.MoveNext
Loop
23 дек 05, 15:28    [2204154]     Ответить | Цитировать Сообщить модератору
 Re: Нужно получить названия полей из таблицы в том порядке в котором они находятся  [new]
msn13
Member

Откуда: Скорый поезд №42
Сообщений: 1372
Set rs = DBEngine(0).Databases(0).OpenRecordset("Таблица1")
For I = 0 To rs.Fields.Count - 1
a = rs.Fields(I).Name
Next
23 дек 05, 15:38    [2204214]     Ответить | Цитировать Сообщить модератору
 Re: Нужно получить названия полей из таблицы в том порядке в котором они находятся  [new]
Volan
Member

Откуда:
Сообщений: 79
Спасибо
И зачем я пытаюсь с DAO на ADO перейти??. В DAO и правда все работает.
23 дек 05, 16:51    [2204582]     Ответить | Цитировать Сообщить модератору
 Re: Нужно получить названия полей из таблицы в том порядке в котором они находятся  [new]
adv
Member

Откуда:
Сообщений: 3333
А на адо, разве не получится?

Dim a As String
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "select * from a1 where 1=2", CurrentProject.Connection, adOpenStatic, adLockReadOnly
For I = 0 To rst.Fields.Count - 1
a = rst.Fields(I).Name
Debug.Print a
Next
rst.close
set rst = nothing
23 дек 05, 17:05    [2204642]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить