Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли в списке отобразить имеющиеся таблицы? / 18 сообщений из 18, страница 1 из 1
22.11.2004, 16:17:10
    #32794489
Можно ли в списке отобразить имеющиеся таблицы?
Я хотел бы узнать, можно ли в поле со списком отобразить все имеющие таблицы?

Спасибо.
...
Рейтинг: 0 / 0
22.11.2004, 16:21:31
    #32794505
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
можно

либо добавлять элементы из dao.tabledefs
либо селект из MSysObjects
...
Рейтинг: 0 / 0
22.11.2004, 16:26:40
    #32794521
Можно ли в списке отобразить имеющиеся таблицы?
Будь добр, если тебя не затруднит покажи пример кода.
...
Рейтинг: 0 / 0
22.11.2004, 16:29:24
    #32794534
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
Почему бы и нет? Только вот вопрос, в чем работаем - Mdb or ADP?

Для Mdb вариант:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim db As DAO.Database: Set db = CurrentDb
    Dim td As DAO.TableDef, ss As String
    
    For Each td In db.TableDefs
        If td.Attributes And dbSystemObject Then
        Else
            ss = ss & td.Name & ";"
        End If
    Next
    
    Me.List1.RowSource = ss
...
Рейтинг: 0 / 0
22.11.2004, 16:30:00
    #32794538
RVI
RVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
...
Рейтинг: 0 / 0
22.11.2004, 16:32:52
    #32794546
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
вместе с системными:

Код: plaintext
me.список1.rowsorce = "SELECT MSysObjects.Name FROM MSysObjects WHERE (((MSysObjects.Type)=1));"
...
Рейтинг: 0 / 0
22.11.2004, 16:50:48
    #32794608
Можно ли в списке отобразить имеющиеся таблицы?
Dim db As DAO.Database: Set db = CurrentDb
Dim td As DAO.TableDef, ss As String

For Each td In db.TableDefs
If td.Attributes And dbSystemObject Then
Else
ss = ss & td.Name & ";"
End If
Next

Me.List1.RowSource = ss

Появляется сообщение "Слишком большое значения для данного свойства".
...
Рейтинг: 0 / 0
22.11.2004, 16:51:37
    #32794613
Можно ли в списке отобразить имеющиеся таблицы?
me.список1.rowsorce = "SELECT MSysObjects.Name FROM MSysObjects WHERE (((MSysObjects.Type)=1));"

Не подскажете как скрыть системные таблицы, чтобы были только фактические?
...
Рейтинг: 0 / 0
22.11.2004, 16:57:31
    #32794643
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
Мне кажется более естественным коллекция CurrentData.AllTables
...
Рейтинг: 0 / 0
22.11.2004, 16:58:48
    #32794650
Можно ли в списке отобразить имеющиеся таблицы?
Программист, тебя не затруднит привести пример? Спасибо.
...
Рейтинг: 0 / 0
22.11.2004, 17:00:07
    #32794658
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
без системных
Код: plaintext
me.список1.rowsorce = "SELECT MSysObjects.Name FROM MSysObjects WHERE MSysObjects.Type =1 AND Flags = 0 " 
...
Рейтинг: 0 / 0
22.11.2004, 17:23:25
    #32794713
Можно ли в списке отобразить имеющиеся таблицы?
Мужики, спасибо большое. Вы мне очень помогли.
...
Рейтинг: 0 / 0
22.11.2004, 17:25:54
    #32794719
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
Программист-ЛюбительМне кажется более естественным коллекция CurrentData.AllTables

ADP only!
...
Рейтинг: 0 / 0
22.11.2004, 18:10:06
    #32794810
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
"ADP only!"
щааааааааззззззз.
в mdb работаит
...
Рейтинг: 0 / 0
22.11.2004, 19:26:20
    #32794911
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
ищ"ADP only!"
щааааааааззззззз.
в mdb работаит

CurrentData.AllTables -> F1
Keyword Not Found
...
Рейтинг: 0 / 0
22.11.2004, 19:31:45
    #32794916
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
Rivkin Dmitry ищ"ADP only!"
щааааааааззззззз.
в mdb работаит

CurrentData.AllTables -> F1
Keyword Not Found
Очень даже Found
...
Рейтинг: 0 / 0
22.11.2004, 19:44:36
    #32794933
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
A97?
...
Рейтинг: 0 / 0
23.11.2004, 09:38:33
    #32795245
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в списке отобразить имеющиеся таблицы?
Минус AllTables - кроме имен таблиц оттуда ничего не вытащишь. Поэтому могу привести простой пример по связыванию табиц через Catalog из библиотеки ADOX.

Одинакого работает на XP и 2003. Должен и на 2000, но, скажу честно, не проверил. Надо только програмно при запуске приложения правильно ссылки на библиотеки переустановить.

Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
Private Sub btnLinkData_Click()

    Dim cat As ADOX.Catalog, tbl As ADOX.Table, prop  As ADOX.Property
    Dim s As String, n As Integer, b As Boolean
    
    Set cat = New ADOX.Catalog
    Set cat.ActiveConnection = CurrentProject.Connection
    n =  0 : s = "": b = True
    For Each tbl In cat.Tables
        If Left(tbl.Name,  1 ) <> "~" And Left(tbl.Name,  4 ) <> "MSys" And _
            tbl.Properties("Jet OLEDB:Create Link") = True And _
            Len(tbl.Properties("Jet OLEDB:Link Datasource")) >  0  And _
            Len(tbl.Properties("Jet OLEDB:Remote Table Name")) >  0  _
        Then
On Error GoTo Err_Connect
            tbl.Properties("Jet OLEDB:Link Datasource") = Me.txtDataPath
            s = s & tbl.Name & "; "
            n = n +  1 
On Error GoTo  0 
Next_Table:
        End If
    Next tbl
    
    Me.btnClose.Enabled = b
    If b Then
        MsgBox _
            "Подключено " & CStr(n) & " таблиц из файла:" _
            & vbCrLf & vbCrLf & s, vbInformation + vbOKOnly
    Else
        MsgBox _
            "При подключении были ошибки. " & _
            Подключено " & CStr(n) & " таблиц " & _
            vbCrLf & vbCrLf & s, vbInformation + vbOKOnly
    End If
    Exit Sub
    
Err_Connect:
    b = False
    Dim s1 As String
    s1 = _
        "Ошибка подключения таблицы '" & tbl.Name & "'" & _
        vbNewLine & vbNewLine & _
        "Jet OLEDB:Link Datasource='" & tbl.Properties("Jet OLEDB:Link Datasource") & "'" & _
        vbNewLine & _
        "Jet OLEDB:Remote Table Name='" & tbl.Properties("Jet OLEDB:Remote Table Name") & "'" & _
        vbNewLine & vbNewLine & _
        "Код ошибки: " & CStr(Err.Number) & " Описание: " & Err.Description 
    If _
        MsgBox(s1 & vbNewLine & vbNewLine & _
        "Продолжить подключение ?", _
        vbCritical + vbYesNo) = vbYes _
    Then
        Resume Next_Table
    Else
        Exit Sub
    End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли в списке отобразить имеющиеся таблицы? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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