Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Список столбцов таблицы как select / 6 сообщений из 6, страница 1 из 1
18.08.2004, 18:35:20
    #32655585
Soldat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список столбцов таблицы как select
Вопрос:
Кто знает можно как нибудть сделать select столбцов таблицы
что то на подобии как это делается в SQL Server (там для этой цели есть
системная таблица SysColumns)
Сейчас я открывал в функции рекордсет и перебирал все столбцы
for i ...
somestr = somestr & ";" & rs.Fields(i).Name
...
Есть другой вариант?
...
Рейтинг: 0 / 0
18.08.2004, 18:51:17
    #32655602
Soldat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список столбцов таблицы как select
Вот полный текст функции, так на всякий случай...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Function GetColumnList(ViewName As String, Optional Divader As String) As String
Dim db As dao.Database
Dim rc As dao.Recordset
Dim fld As dao.Field
Dim strSQL As String

Set db = CurrentDb
strSQL = "select * from " & ViewName
Set rc = db.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)

strSQL = ""
If Len(Divader) =  0  Then Divader = ";"

For Each fld In rc.Fields
  strSQL = strSQL & "[" & fld.name & "]" & Divader
Next
strSQL = left(strSQL, Len(strSQL) -  1 )

GetColumnList = strSQL

Exit_Function:
    On Error Resume Next
    rc.Close: Set rc = Nothing
    db.Close: Set db = Nothing
    Exit Function
    
Err:
    MsgBox Err.Description, vbCritical
    Resume Exit_Function
End Function
...
Рейтинг: 0 / 0
18.08.2004, 19:08:29
    #32655622
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список столбцов таблицы как select
SoldatСейчас я открывал в функции рекордсет и перебирал все столбцы
for i ...
somestr = somestr & ";" & rs.Fields(i).Name
...
Есть другой вариант?
Я бы тоже так делал. Можно еще перебирать столбцы TableDef'а, но хрен редьки...
...
Рейтинг: 0 / 0
18.08.2004, 19:22:31
    #32655646
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список столбцов таблицы как select
Смотреть в сторону ADO и метода OpenSchema
...
Рейтинг: 0 / 0
19.08.2004, 10:27:08
    #32656082
Galustov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список столбцов таблицы как select
Вот какой вопрос - в listbox-ах если поставить "Тип источника строк" - Список полей, то этот самый листбокс очень лихо показывает поля своего сурса.

нельзя ли это каким-то образом использовать? у меня давно такая мысль родилась, просто не всплывала тема...

а ваще-то я тоже делаю for each ... in ТвояТаблица.fields ... next
...
Рейтинг: 0 / 0
19.08.2004, 10:37:23
    #32656114
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список столбцов таблицы как select
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim rst As ADODB.Recordset
Set rst = CurrentProject.Connection.OpenSchema _
    (adSchemaColumns, Array(Empty, Empty, "ИмяТаблицы", Empty))

Dim strFields As String
Do Until rst.EOF
    strFields = strFields & rst!COLUMN_NAME & ";"
    rst.MoveNext
Loop

Debug.Print strFields
По крайней мере от сервера не зависит (в разумных пределах конечно)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Список столбцов таблицы как select / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]