Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прилинковка таблиц програмно DAO / 4 сообщений из 4, страница 1 из 1
17.08.2004, 14:55:05
    #32652999
Димасик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прилинковка таблиц програмно DAO
Башка не пашет совсем, не по моей вине

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

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

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

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

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

спасибо всем
...
Рейтинг: 0 / 0
17.08.2004, 14:57:33
    #32653003
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прилинковка таблиц програмно DAO
TABLEDEFS + F1
...
Рейтинг: 0 / 0
17.08.2004, 15:04:09
    #32653019
v-metallic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прилинковка таблиц програмно DAO
Cм. свойство Connect обьекта TableDef
Название линка в программе -это и есть TableDef
Для нее надо изменить свойство Connect
...
Рейтинг: 0 / 0
17.08.2004, 15:11:32
    #32653046
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прилинковка таблиц програмно DAO
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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прилинковка таблиц програмно DAO / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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