powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прилинковка таблиц програмно DAO
4 сообщений из 4, страница 1 из 1
Прилинковка таблиц програмно DAO
    #32652999
Димасик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Башка не пашет совсем, не по моей вине

есть две базы .мдб, на которых находятся данные (по структуре идентичные, данные только разные)

есть база с формами, репортами, к которой присоединены таблицы из одной из вышеупомянутых двух баз

нужно чтобы при нажатии кнопки некоторые таблицы отсоединились и присоединились такие же таблицы из другой базы (имена, структура те же)

какой здесь ключевой оператор, команда и принцип

может у кого готовый код есть?

спасибо всем
...
Рейтинг: 0 / 0
Прилинковка таблиц програмно DAO
    #32653003
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TABLEDEFS + F1
...
Рейтинг: 0 / 0
Прилинковка таблиц програмно DAO
    #32653019
v-metallic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cм. свойство Connect обьекта TableDef
Название линка в программе -это и есть TableDef
Для нее надо изменить свойство Connect
...
Рейтинг: 0 / 0
Прилинковка таблиц програмно DAO
    #32653046
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Function RelinkTable(sBase, sTableArray) As Boolean
'false если были ошибка
'sBase = "c:\georgiy\tlfNew.mdb" ' путь к новому положению БД на диске
On Error GoTo RelinkTable_err

Dim j As Integer, oldConnectString
Dim dbs As Database
Dim tdf As TableDef
' Dim sBase As String
Dim lngX As Long

RelinkTable = False

Set dbs = CurrentDb
SysCmd acSysCmdInitMeter, "Открываю таблицы базы " & sBase, UBound(sTableArray) + 1
lngX = 0

For j = LBound(sTableArray) To UBound(sTableArray)

Set tdf = dbs.TableDefs(sTableArray(j))

If Len(tdf.Connect) > 0 Then
oldConnectString = tdf.Connect
tdf.Connect = ";DATABASE=" & sBase
tdf.RefreshLink
End If
lngX = lngX + 1
SysCmd acSysCmdUpdateMeter, lngX
Next

' MsgBox "Таблицы подлинкованы." & vbCr & sBase, vbOKOnly + vbInformation, "Минздрав доволен!"
RelinkTable = True

RelinkTable_exit:

dbs.Close
SysCmd acSysCmdUpdateMeter, UBound(sTableArray)
SysCmd acSysCmdClearStatus

Exit Function

RelinkTable_err:
Select Case Err.Number
Case 3011
'не найдена нужная таблица в указанном файле
MsgBox "В выбранном файле нет таблицы " & tdf.Name & vbCrLf & "Укажите правильный файл данных!" & vbCrLf & vbCrLf & "Смена подключения не произведена, источник данных прежний.", vbExclamation, "Ошибка"

'принудительное переключение обратно не нужно
'tdf.Connect = oldConnectString
'tdf.RefreshLink


Case Else
MsgBox "При переключении источника данных произошла ошибка:" & Err.Description
End Select
Resume RelinkTable_exit:

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


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