powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MS Access 2.0 Как сменить сетевой путь к базе данных
10 сообщений из 10, страница 1 из 1
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39684953
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех приветствую.
В общем, есть чужая БД учета, написанная под старючий MS Access 2.0.
Программа разделена на две части-каталога, один каталог локальный-пользовательский, и второй сетевой - думаю, собсно, сама БД.
Для работы сетевой части создан сетевой ресурс, в который выложена сама БД, и этот ресурс подключается, как сетевой диск на всех раб.станциях - к примеру, пусть будет F:\ <=> \\server\D\
Где-то в локальной части БД пользователя в настройках свойств многих таблиц помимо локального пути в виде "F:\..." прописан абсолютный UNC-путь - "\\server\D\...", т.е. часть таблиц так, а часть - сяк. За автора этой БД уже "пирожки съели", так что поддержки уже давно никакой нету вообще.
Я акцесс вообще особо не знаю, так, по мелочи - что-то в свойствах где-то подправить, принтер подключить/перенастроить и т.д.,- до чего сам додумаюсь.
Так вот, в связи с переносом сетевой БД на другой комп необходимо также изменить все UNC-пути к таким таблицам, у которых в свойствах путь прописан через Ж..., а не через "F:\..."
Сама программа запускается локального каталога БД, типа: "D:\catalog\db01.mdb", и далее грузятся всякие модули-формы и прочее.
После переноса сетевой БД на другой комп при попытке открытия программы через некоторое время выдается сообщение об ошибке:
"База: ТАКАЯ ТО Ошибка:Path not found Код: 76 Строка:0 Банк данных, вероятно, был перемещен в другой каталог. Прервать выполнение программы? (Да/Нет)"
Прошу помощи,как это сделать, а то я уже запарился там искать - таблиц много, руками перебирать - тронуться можно, скорее всего это надо каким-то простеньким скриптиком сделать.
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685194
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такое работает с 97го

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Sub RelinkTablesTo(OldFolder As String, NewFolder As String)
'RelinkTablesTo "\\server\D\","F:\"

    Dim t As TableDef
    
    For Each t In CurrentDB.TableDefs
        If t.Connect <> "" Then
            Debug.Print t.name, t.Connect,
            t.Connect = mReplace(t.Connect, OldFolder, NewFolder)
            t.RefreshLink
            Debug.Print t.Connect
        End If
    Next t
    
End Sub

Public Function mReplace(ForStr As String, s1, s2) As String
' до 2000 нет такой функции
    s2 = Nz(s2, "")
    Dim I As Long
    Dim str As String
    str = ForStr
    I = InStr(1, str, s1)
    While I > 0
        str = Mid(str, 1, I - 1) & s2 & Mid(str, I + Len(s1))
        I = InStr(1, str, s1)
    Wend
    mReplace = str
End Function
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685206
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема ещё и в том, что судя по окну, там подключены dbf файлы
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685237
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, тогда надо вызывать функцию без последних слэшей
Код: vbnet
1.
RelinkTablesTo "\\server\D","F:"
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685261
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже что-то вырисовывается.
Еще забыл добавить: после открытия БД " db01.mdb " и завершения работы программы с вышеуказанной ошибкой я полазил по самой БД, которая осталась открытой в окне " Database:... ", После, поняв безуспешность своих потуг, я залез в сам файл " db01.mdb " через фар-менеджер напрямую и начал искать там подстроку " \\server\D\... " - таковых там оказалось великое множество. Но! Когда я потом попытался найти аналогичные таблицы в самой БД, открытой уже через акцесс - я там не нашел ни одной таблицы из тех немногих, у которых в свойствах расположения я нашел полный UNC-путь! Бред какой-то...
Так, например, при поиске в двоичном виде я нашел кучу таблиц, имена которых начинаются на "14", но при просмотре списка таблиц через акцесс - там таких нету вообще! На снимках пример по таблице " 14SA313.DBF " - в двоичном виде я ее нахожу, через акцесс - в списке таблиц ее нету.
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685262
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685263
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот в Фаре табличка " MAR1.dbf "
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685264
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И тут же она есть в акцессе (в отличие от "14SA313.dbf")
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685317
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УРА! Получилось!
В процедуре " Инициализация " нашел место, где выдает сообщение об ошибке, по нему добрался до переменной, в которой прописан сетевой путь, далее вышел еще на вторую переменную, а она-то уже получала значение из локальной таблицы " ATTRIB.DBF " - вот в ней то и были прописаны все эти UNC-пути, штук двадцать. Подправил на " F:\ " - и вуаля, заработало!
...
Рейтинг: 0 / 0
MS Access 2.0 Как сменить сетевой путь к базе данных
    #39685526
pvk.it
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос решен. Сердечно благодарю всех, кто откликнулся.
Тему можно закрывать. Только не нашел, как...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MS Access 2.0 Как сменить сетевой путь к базе данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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