Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
1 / 1 / 0
Регистрация: 14.04.2015
Сообщений: 19
1

Access Vba Как изменить путь к источнику таблицы

09.02.2016, 15:41. Показов 6116. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Ситуация такова. Есть 2 базы access. Из 1-й базы с помощью Импортирования была перенесена таблица во 2-ю базу (Внешние данные -> Импорт базы данных Access -> Создать связанную таблицу для связи с источником данных).
Можно как-нибудь через vba (по необходимости) изменить путь к источнику и пароль.
Через "Диспетчер связанных таблиц" удаётся изменить только путь...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2016, 15:41
Ответы с готовыми решениями:

Как в VBA Access выбрать данные из таблицы, созданной в памяти?
Подскажите плз, как в VBA ACCESS выбрать данные с таблицы созданной в памяти. пример отобранны...

Изменить путь сохраняемого файла: WinAPI в VBA
Всем доброго времени суток! Вопрос с применением API-функций в VBA: Нужно поменять путь...

Как изменить размер существующего поля таблицы ACCESS?
With ADOQuery2 do begin Close; SQL.Clear; SQL.Text :='ALTER TABLE...

Экспорт из Access в FoxPro. Как изменить формат поля таблицы?
Сохраняю таблицу из MS Access 97 во внешнем файле формата Microsoft FoxPro 2.0 (dbf). При этом...

7
Эксперт MS Access
7398 / 4535 / 295
Регистрация: 12.08.2011
Сообщений: 14,023
10.02.2016, 02:46 2
Удалите связь и создайте заново.
1
4064 / 1445 / 399
Регистрация: 07.08.2013
Сообщений: 3,617
10.02.2016, 05:00 3
наверное лучше через рекордсет ADO
там нужно создавать соединение с вводом пароля соответственно
1
1 / 1 / 0
Регистрация: 14.04.2015
Сообщений: 19
10.02.2016, 10:05  [ТС] 4
Не. Меня интересует есть ли способ поменять свойства таблиц. Ведь все эти подключения должны где то хранится... А создание и пересоздание - слишком просто.
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.02.2016, 13:37 5
Лучший ответ Сообщение было отмечено rewqazxcv1 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
Public Function SetLnk(myTableName As String, myLocation As String) As Long
' Установка присоединения таблицы с указанным именем к указанному файлу:
' возвращает 0, если все в порядке, иначе - номер возникшей ошибки
Dim MyTable As Object
    Set MyTable = DBEngine.Workspaces(0).Databases(0).TableDefs(myTableName)
    MyTable.Connect = ";DATABASE=" & myLocation
    SetLnk = ChkLnk(myTableName)
End Function
Добавлено через 41 секунду
Visual Basic
1
2
3
4
5
6
7
8
9
10
Public Function ChkLnk(myTableName As String) As Long
' Проверка присоединения указанной таблицы: возвращает 0, если все в порядке,
' иначе - номер возникшей ошибки
Dim MyTable As Object
    Set MyTable = DBEngine.Workspaces(0).Databases(0).TableDefs(myTableName)
    On Error Resume Next
    ' Открываем указанную таблицу и проверяем наличие ошибки
    MyTable.RefreshLink
    ChkLnk = Err.Number
End Function
2
1 / 1 / 0
Регистрация: 14.04.2015
Сообщений: 19
10.02.2016, 14:47  [ТС] 6
Благодарю! Сейчас опробуем)
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.02.2016, 14:55 7
Вообще я сейчас почитала, как сложно я писала когда-то...

Но передеылывать лень. Работает себе и работает, годы ))
1
1 / 1 / 0
Регистрация: 14.04.2015
Сообщений: 19
10.02.2016, 16:29  [ТС] 8
вроде должно так получится если без функций
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
myTableName = "1_Specialnosti"
myLocation = "C:\Users\Admin\Desktop\BD_Student_Kompitencii\222\Student.mdb"
myParol = "rewqazxcv1"
 
Dim MyTable As Object
Set MyTable = DBEngine.Workspaces(0).Databases(0).TableDefs(myTableName)
MyTable.Connect = ";DATABASE=" & myLocation + "; PWD=" & myParol
On Error Resume Next
MyTable.RefreshLink
If Err.Number = 0 Then
    'сюда код если всё правельно
ElseIf Err.Number = 3031 Then
    'сюда код если неверный пароль
Else
    MsgBox (Err.Number)
    'сюда код если непредвимимая ошибка
End If
Err.Clear
1
10.02.2016, 16:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2016, 16:29
Помогаю со студенческими работами здесь

Получить путь к источнику файла
Есть FileSystemWatcher мониторящий определенную директорию. В нее могу копировать или перемещать...

Изменить путь к картинке в ячейке таблицы БД
Здравствуйте! Есть DataGrid. К нему привязана ObservableCollection<T>, которая связана с...

Изменить свойство поля со списком на VBA в Access 2010
Подскажите как можно изменить свойство "Ограничиться списком" поля со списком? Пробовал такую...

Access. Изменение таблицы средствами VBA
Есть такая задача: Имеется таблица з двумя полями(счетчик+текстовое поле). Имется текстовая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru