|
Private Sub Form_Open(Cancel As Integer)
Dim s 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
|
|