Список полей таблицы
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Список полей таблицы Expand / Collapse
Автор
Сообщение
05.01.2002 11:26
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 06.01.2002 12:10
Сообщ.: 3, Visits: 34
Как получить, используя только SQL, список полей и их типы заданной таблицы?
Где-то эта информация должна храниться, но как до нее добраться, используя только SQL - запрос?
Сообщ. #738417
31.01.2002 16:46
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 22.06.2006 12:09
Сообщ.: 72, Visits: 794
Сам я этого не делал, но могу дать наводку (ценное указание, а не деньги на спиртное ; )) ) Обычно так делается на SQL сервере.
В любой базе Access (как и вообще в любой базе) есть несколько системных таблиц, где в частности хранятся имена всех таблиц базы, название колонок и типы данных. Обычно эти таблицы не видны - видимо потому что системные, но их можно заметить просматривая объекты TableDefs. Вот список этих таблиц:
MSysACEs
MSysModules
MSysModules2
MSysObjects
MSysQueries
MSysRelationships
Я так полагаю что вся информация о таблицах базы должна содержаться где то в последних трёх системных таблицах. Если тебе это действительно надо, покапайся, потом расскажешь ; )
Сообщ. #740568
01.02.2002 1:26
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 18.11.2004 18:12
Сообщ.: 378, Visits: 4 159
Информацию о таблицах (имена всех таблиц) можно получить в MSysObjects, поле Type=1

Информацию по конкретной таблице:

Function PP()
Dim rst As New ADODB.Recordset
Dim i As Long

rst.ActiveConnection = CurrentProject.Connection
rst.Open "SELECT Группы.* FROM Группы"
For i = 0 To rst.Fields.Count - 1
Debug.Print rst.Fields(i).Name,
Select Case rst.Fields(i).Type
Case adVarWChar
Debug.Print "тексовый"
Case adSmallInt
Debug.Print "числовой"
End Select
Next i
Debug.Print "всего полей " & i
Set rst = Nothing
End Function
Сообщ. #740599
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 6:12