Метод TransferDatabase (где указать пароль?)
Настаев
Дата: 04.01.2012 15:37:18
Мне нужно в автомакросе сделать автолинковку таблиц
DoCmd.TransferDatabase acLink, "Microsoft Access", имя_файла, acTable, "таблица такая-то", "таблица такая-то"
Всё работает, но с проблемами:
- если таблица уже существует, то создаётся новая с циферкой. Например "таблица1"
- если база-источник зашифрована, то где указать пароль?
WRX
Дата: 04.01.2012 16:52:59
Настаев, я делал так:
1) вначале проверяется наличие таблицы
2) если таблицы нет, то линкуем
Настаев
Дата: 04.01.2012 17:22:36
ну с этим я справлюсь: я просто буду удалять таблицу перед линковкой...
Хотя это будет не совсем правильным. Я хочу посоветоваться.
Есть БД, разделённая на 2 части: с кодом и с таблицами (типичная ситуация)
Я хочу, чтобы она работала не зависимо от размещения в файловой системе
Может быть есть возможность проверить в существущей таблице адрес, на который она ссылается: если он не тот, то удалить таблицу и линковать заново.
А на счёт пароля мне тоже хотелось бы получить ответ...
ё
Дата: 04.01.2012 18:13:37
Настаев |
---|
ну с этим я справлюсь: я просто буду удалять таблицу перед линковкой...
Хотя это будет не совсем правильным. Я хочу посоветоваться. Есть БД, разделённая на 2 части: с кодом и с таблицами (типичная ситуация) Я хочу, чтобы она работала не зависимо от размещения в файловой системе Может быть есть возможность проверить в существущей таблице адрес, на который она ссылается: если он не тот, то удалить таблицу и линковать заново.
А на счёт пароля мне тоже хотелось бы получить ответ... |
изучайте ))
http://www.sql.ru/forum/afsearch.aspx?s=connect+refreshlink+pwd&submit=%CD%E0%E9%F2%E8&bid=4
Анатолий ( Киев )
Дата: 04.01.2012 19:19:43
Настаев |
---|
если таблица уже существует, то создаётся новая с циферкой. Например "таблица1" |
А вы чего хотели? Так и должно быть.
Настаев |
---|
если база-источник зашифрована, то где указать пароль? |
"зашифрована" или запаролена? А разве TransferDatabase не запрашивает пароль на БД?
Удаление/создание новых таблиц/изменение пути в связанных таблицах надо делать при помощи DAO или ADOX. Там и пароль в строке подключения можно указать.
Настаев
Дата: 05.01.2012 13:01:01
С линковкой я разобрался
tdf.Connect = "MS Access;PWD=321;DATABASE=" & CurrentProject.Path & "\base_be.accdb"
Всем спасибо за участие в теме
Настаев
Дата: 05.01.2012 13:04:42
Нет, извините, не разобрался
Connect всё коннектит, только во время открытия таблиц, программа ругается: "Не верно указан праоль"
Я указывал простые цифры 321 для проверки и всё равно не пашет
А метод Transfer не предлагает ввести пароль
Анатолий ( Киев )
Дата: 05.01.2012 15:56:17
Настаев |
---|
tdf.Connect = "MS Access;PWD=321;DATABASE=" & CurrentProject.Path & "\base_be.accdb"
|
1. Если вы интерактивно подключитя таблицу, то что у вас в св-ве Connect?
2. Этот код для вновь создаваемой таблицы? Если нет, то еще нужен метод RefreshLink.
Настаев
Дата: 05.01.2012 17:08:06
Это код для существующей таблицы
На счёт RefreshLink я не знал. Теперь использую
Но при задании пароля в базе-источнике всё равно не работает
K-Nick
Дата: 25.03.2015 16:54:58
Пароль должен быть не длиннее 13 символов.
192028