LEADERSOFT.ru Разработка на заказ программ и сайтов
ЕСЛИ БАЗА ВАМ НУЖНА В ЛИДЕРСОФТ ЗАЙДИ СПЕРВА!
Все примеры Microsoft Access - VBA
























































18. Если у Вас интерфейс хранится в одной базе, а данные в другой, то необходимо научится привязывать базу к таблицам на сервере. Иначе пользователю, используя стандартный интерфейс будет очень трудно это сделать. В этом примере показано как это делается автоматически через программный код.

Все примеры Microsoft Access
Private Sub Form_Open(Cancel As Integer)
Dim As String, tdf As TableDef, dbs As Database
Dim tdfName As String, dbsName As String, i As Integer
    On Error GoTo 999
    Set dbs = CurrentDb 'Выбор базы данных
    dbs.Execute "DELETE * FROM [Пример 18]" 'Удаляем все записи
    'Инициализация таймера загрузки
    Application.SetOption "Строка состояния"True 'Показываем строку
    i = 1: SysCmd acSysCmdInitMeter, "Загрузка таблиц ...", dbs.TableDefs.Count
    For Each tdf In dbs.TableDefs   'Просматриваем все таблицы
        SysCmd acSysCmdUpdateMeter, i: i = i + 1 'Перерисовываем таймер
        dbsName = funGetSubString(tdf.Connect, ";DATABASE="";"'Находим связанную таблицу
        If (dbsName <> ""Then
            tdfName = tdf.Name 'Имя таблицы
            'Составляем запрос на добавление
            s = "INSERT INTO [Пример 18] ( Вкл, Таблица, Файл ) SELECT " & _
                "False AS Вкл, """ & _
                tdfName & """ AS Таблица,""" & _
                dbsName & """ AS Файл;"
            dbs.Execute s 'Добавляем в таблицу меню
        End If
    Next
    SysCmd acSysCmdRemoveMeter 'Удаляем таймер
    Me.Requery 'Изменяем запрос в форме
    Exit Sub
999:
    SysCmd acSysCmdRemoveMeter 'Удаляем таймер
    MsgBox Err.Description 'Сообщаем об ошибке
    Err.Clear
End Sub