Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991

Код VBA для линковки (установлении связи) по двум или более драйверам ODBC

21.04.2017, 12:03. Показов 6042. Ответов 60
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Форумчане, дорого времени суток!
Есть код VBA, который производит линковку Аксесс 2003 с таблицами SQL (в данном случае MySQL). Используется драйвер ODBC для 32 разрядной ОС.

Есть компьютеры и с 64 разрядной ОС, для них ДРУГОЙ драйвер ODBC.
Прошу помочь составить код VBA, который мог бы связывать с таблицами использую драйвер или для 32 или для 64 разрядной ОС в зависимости от разрядности ОС конкретной машины..
Исходный кусочек кода прилагаю
Кликните здесь для просмотра всего текста
Visual Basic
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
30
31
32
33
34
35
36
37
38
39
40
41
42
Public Sub LinkTablesMySQL_ADOX()
'Создание общей строки подключения и подлинковка таблиц MySQL
'--------------------------------------------------------------------------
Dim sDriver As String
Dim sServerAdr As String
Dim sCharset As String
Dim sServPort As String
Dim sDbName As String
Dim sUser As String
Dim sPassWord As String
Dim sConnect As String
Dim l&
'--------------------------------------------------------------------------
On Error GoTo LinkTablesMySQL_ADOX_Err
'Внимание - проверь версию драйвера! - Может уже... 5.5 или даже 6.2!?
    'sDriver = "{MySQL ODBC 5.2 ANSI Driver}"    'ANSI Driver
    sDriver = "{MySQL ODBC 3.51 Driver}"  'UNICODE Driver
    
    'sServerAdr = "localhost"
    sServerAdr = "111.111.1.111"   ' Адрес (Имя) сервера
    sServPort = "3306"         ' Порт соединения = 3306 (Обычно так и есть)
    sDbName = "base" ' Название базы
    sUser = "sistema"             ' Имя пользователя
    sPassWord = "999999"    ' Пароль
 
 
'Создаю строку подключения:
 sConnect = "ODBC;DRIVER=" & sDriver & _
        ";SERVER=" & sServerAdr & _
        ";Port=" & sServPort & _
        ";DATABASE=" & sDbName & _
        ";USER=" & sUser & _
        ";PASSWORD=" & sPassWord & _
        ";OPTION=3" & _
        ";stmt=set names cp1251"
        'Debug.Print sConnect
 
'--------------------------------------------------------------------
'Подключаем несколько таблиц по ADOX
        
l = LinkTable_ADOX("Afigenno", sConnect)
    If l > 0 Then Err.Raise l


Добавлено через 29 минут
Драйвер ODBC для 64 разрядной ОС для простоты назовем "Драйвер_64_ОС"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.04.2017, 12:03
Ответы с готовыми решениями:

Код html или php для формы обратной связи
форма обратной связи!! подскажите плиз код html или php для формы обратной связи в моём случае форма для заявки в интернет...

Как соединиться из VBA с Interbase через ADO или ODBC?
Подскажите плз как соединиться из VBA с Interbase через ADO или ODBC. Может еще варианты есть?

Сложение в столбце по двум или более условиям
Есть три столбца с цифрами, допустим А, C, E, нужно сложить все цифры столбца А, но только при условии, что в аналогичных ячейках столбцов...

60
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
28.07.2017, 10:22  [ТС]
Студворк — интернет-сервис помощи студентам
Eugene-LS, убрал "MSDASQL;" из строки подключения- код заработал. Время линковки составили для 125 таблиц 22 секунды (старый вариант подключения занимал 44 секунды)
Убрал из строки 225
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Строка №225: cat.Tables.Refresh = Лишние повторы операции! - можно смело закомментировать или просто удалить - будет только быстрее
- время подключения 125 таблиц составило 2,5 секунды.
Сие есть чудо, спасибо огромное!!!

(причем, уменьшая количество таблиц в массиве, даже до 1 таблицы время подключения не менялось, составляло также 2,5 секунды.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2017, 10:22

Как происходит авторизация при установлении связи с сайтом?
Мне ранее не доводилось делать авторизацию на сайте - может быть, по этой причине и непонимание. А суть дела такова. Протокол...

Регулярка по двум буквам подряд, но не трем или более
Не могу создать регулярку которая найдет только двойные буквы wworld - 1 worrld - 1 worldd - 1 wwworld - 0 worrrld - 0 ...

Поиск по определенному или двум и более параметрам в List.Find
Есть структура public struct Note { //из списка группы public string firstName; //имя public...

OLE BD или ODBC для MS Access?
Что лучше использоваться для подключения к базе access?

Написать код для решение по двум формулам


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

Или воспользуйтесь поиском по форуму:
61
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru