Программирование на Visual Basic | Microsoft Access. Связь с внешними таблицами

В этом разделе сайта находятся примеры из сборника программ "Архив файлов на Microsoft Access". В нем рассказывается о программировании форм, отчетов, таблиц и других объектов. Используйте этот архив для изучения работы с приложением Microsoft Office Access и программированием на Visual Basic for Application. Тем кто уже знаком с VBA, используйте поиск для нахождения кодов. Наберите, например, DAO, ADO, Recordset и найдете нужную ссылку для решения проблемы с программированием

Microsoft Access. Связь с внешними таблицами

01. В этом примере используется подключение к dbf файлу. Истользуйте пример для загрузки в Access таблиц dbf

Option Compare Database
Option Explicit

'==============================================================
'   Связь с таблицами
'       Для текущей базы данных
'   Предупреждение.
'       Если текстовые поля имеют неправильное отображение,
'       то установите в Access другую кодировку символов
Private Sub butLink_Click()
Dim myFile As String, s As String
    On Error GoTo 999
    Select Case Me.grTables
    Case 1:
        'Данный пример показывает как связать текущую Access
        'базу данных с таблицей dBase III: "la_table.dbf"
        'с имененем таблицы в Access dbf-таблица
        myFile = Application.CurrentProject.Path 'Каталог базы
        If Dir(Me.nameFileDbf.Caption)  "" Then 'Проверка файла
            DoCmd.TransferDatabase acLink, "dBase III", myFile, _
                acTable, "la_table.dbf", "dbf-таблица"
            'Изменяем вид кнопок формы
            setControl True
        Else
            MsgBox "Нет файла: "  Me.nameFileDbf.Caption
        End If
    End Select
    Exit Sub
999:
    'Ошибка может быть если dbf-файл находится в каталоге с русским именем
    MsgBox "Ошибка связи с таблицей", vbCritical, "Внешние связи"
    Err.Clear
    'Изменяем свойства элементов формы
    setControl False
End Sub

'==============================================================
'   Открытие формы
Private Sub Form_Open(Cancel As Integer)
Dim s As String
    s = Application.CurrentProject.Path 'Каталог базы
    Me.nameFileDbf.Caption = s  "\"  "la_table.dbf" 'Название файла
    butDelLink_Click
End Sub

'==============================================================
'   Удаление связи с таблицами
Private Sub butDelLink_Click()
    On Error Resume Next
    DoCmd.DeleteObject acTable, "dbf-таблица" 'Удаляем связь
    'Изменяем свойства элементов формы
    setControl False
End Sub

'==============================================================
'   Установка элементов формы
Private Sub setControl(myEnabled As Boolean)
    Me.grTables.SetFocus 'Меняем фокус
    If myEnabled = False Then
        Me.nameFileDbf.HyperlinkSubAddress = "" 'Меняем адрес
        Me.butLink.Enabled = True 'Меняем вид кнопки
        Me.butDelLink.Enabled = False 'Меняем вид кнопки
    Else
        Me.nameFileDbf.HyperlinkSubAddress = "Table dbf-таблица"
        Me.butLink.Enabled = False 'Меняем вид кнопки
        Me.butDelLink.Enabled = True 'Меняем вид кнопки
    End If
End Sub

Добавить комментарий

Loading