Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Refresh linked tables. Ищу готовое решение. / 7 сообщений из 7, страница 1 из 1
06.08.2003, 11:49
    #32228469
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
Пользователь устанавливает бэкэнд с таблицами на сервер. На клиентах устанавливается фронтэнд с линками на таблицы. При старте приложения нужно перелинковать таблицы, спросив у пользователя расположение базы с таблицами. Нашел готовенькое решение на www.mvps.org. Но оно корявое какое-то :(
Собственно, из-за него DAO и пришлось линковать :)
...
Рейтинг: 0 / 0
07.08.2003, 09:11
    #32229568
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
На безрыбье и сам раком станешь :(
Ковыряю mvps-ный код.
Кто нибудь встречал такую конструкцию: ON LOCAL ERROR?

Код: plaintext
On Local Error GoTo fRefreshLinks_Err
...
Рейтинг: 0 / 0
07.08.2003, 09:13
    #32229573
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
2Albert Gor

Набери в поиске слово Link
и будет тебе счастье на несколько страниц. С вариантами и на дао и на адо.
...
Рейтинг: 0 / 0
07.08.2003, 09:35
    #32229602
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
mdb, A2000:
--------------

Function Prilinkovka(sBase)
'sBase = "c:\georgiy\tlfNew.mdb" ' путь к новому положению БД на диске

Dim dbs As Database
Dim tdf As TableDef
' Dim sBase As String
Dim lngX As Long

Set dbs = CurrentDb
SysCmd acSysCmdInitMeter, "Открываю таблицы базы " & sBase, dbs.TableDefs.Count
lngX = 0
For Each tdf In dbs.TableDefs
If Len(tdf.Connect) > 0 Then
tdf.Connect = ";DATABASE=" & sBase
tdf.RefreshLink
End If
SysCmd acSysCmdUpdateMeter, lngX
Next tdf
' MsgBox "Таблицы подлинкованы." & vbCr & sBase, vbOKOnly + vbInformation, "Минздрав доволен!"
SysCmd acSysCmdUpdateMeter, dbs.TableDefs.Count
SysCmd (acSysCmdClearStatus)
dbs.Close

End Function
...
Рейтинг: 0 / 0
07.08.2003, 10:19
    #32229676
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
2 Alexus12
Спасибо.

2 Senin Viktor
На адо звучит заманчиво. Ссылка на дао станет ненужной. В каком поиске?
...
Рейтинг: 0 / 0
07.08.2003, 12:13
    #32229835
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
Можно ли включить цикл перебора таблиц в транзакцию?
Если хоть одна таблица не перелинковалась - откат для всех.
А для ADO?
...
Рейтинг: 0 / 0
07.08.2003, 12:26
    #32229852
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh linked tables. Ищу готовое решение.
2Albert Gor
>В каком поиске?

Поиске по ФОРУМУ.

>Если хоть одна таблица не перелинковалась - откат для всех.

Нет. Транзакции не получиться. Прийдется ручками. Сперва запомнить текущее подключение
(тут зависит от твоей базы - если всегда к 1 базе - то просто запомнишь первый линк, если же к разными прийдется городить таблицу: имя таблицы и строка подключения),

затем попытаться подключиться к другому файлу бд. Если есть ошибка - то восстанавливаешь старое подключение
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Refresh linked tables. Ищу готовое решение. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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