|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||||||
Код VBA для линковки (установлении связи) по двум или более драйверам ODBC21.04.2017, 12:03. Показов 6093. Ответов 60
Метки нет (Все метки)
Форумчане, дорого времени суток!
Есть код VBA, который производит линковку Аксесс 2003 с таблицами SQL (в данном случае MySQL). Используется драйвер ODBC для 32 разрядной ОС. Есть компьютеры и с 64 разрядной ОС, для них ДРУГОЙ драйвер ODBC. Прошу помочь составить код VBA, который мог бы связывать с таблицами использую драйвер или для 32 или для 64 разрядной ОС в зависимости от разрядности ОС конкретной машины.. Исходный кусочек кода прилагаю Кликните здесь для просмотра всего текста
Добавлено через 29 минут Драйвер ODBC для 64 разрядной ОС для простоты назовем "Драйвер_64_ОС"
0
|
||||||
| 21.04.2017, 12:03 | |
|
Ответы с готовыми решениями:
60
Код html или php для формы обратной связи Как соединиться из VBA с Interbase через ADO или ODBC?
|
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||
| 27.04.2017, 13:04 [ТС] | ||
|
Eugene-LS,
0
|
||
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
|
| 27.04.2017, 13:13 | |
|
1
|
|
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||||||
| 27.04.2017, 14:32 [ТС] | ||||||
|
mobile, Поменял имя драйвера, линковка происходит.
Рабочий код: Кликните здесь для просмотра всего текста
т.е работает при использовании драйвера MySQL ODBC 3.51 Driver -для 32 разрядного MSO и при использовании MySQL ODBC 5.3 Driver- для 32 разрядного MSO для 64 разрядного MSO еще не пробовал. Есть проблема: при 64 разрядной операционной системе (ОС) - не путать с MSO, при ОТСУТСТВИИ Ms Office -не работает "Приложение будет завершено..." линковка происходит, а когда пользователь вводит пароль - приложение сворачивается, с ошибкой выполнения.
2
|
||||||
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
|||
| 27.04.2017, 14:46 | |||
|
... Не Боги проги (и драйвера) пишут! ![]() Возможно где то ошибка., бывало что приходилось откатываться на предыдущую версию, т.к. свежая "глючила". Добавлено через 3 минуты
0
|
|||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
|||||||
| 27.04.2017, 17:42 [ТС] | |||||||
|
т.к. разрядность драйвера, как выяснилось, не зависит от разрядности ОС, а зависит от разрядности MsO, то код изменил. Проверил- работает за исключением
"C:\Program Files\MySQL" -была папка (даже пустая) с именем "Connector ODBC 3.51" или "C:\Program Files\MySQL" -была папка (даже пустая) с именем "Connector ODBC 5.3" код прилагаю Кликните здесь для просмотра всего текста
0
|
|||||||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||||||
| 19.06.2017, 17:20 [ТС] | ||||||
|
Форумчане, пишу дополнение к данной теме, прошу помочь!
Во вложении- работающий код линковки, прошу: 1. помочь очистить его от лишнего (подозреваю, что часть, касающаяся подключения по DAO не нужна,но точно не уверен) 2.поделиться опытом линковки не всех таблиц сразу (что долго), а части таблиц, затем при переходе в другую часть БД, линкуется еще часть таблиц, при закрытии удаляется часть линковки и т.п.
0
|
||||||
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||||||||
| 19.06.2017, 21:36 | ||||||||
|
Если нужны табличные представления данных можно линковать через ADOX (вместо DAO). Ну не так уж долго, а нужно ли их линовать? - ещё вопрос. Работа с ADO не проста, тут многое от сервера данных зависит (как выяснилось). И строка подключения может отличатся.... Тема сложная и длинная. Добавлено через 15 минут ankan, спасибо что используете мой (уже старенький) пример кода и сохранили авторство. Пример универсален, и я пытался сделать его более понятным при подготовке к публикации. А всё универсальное ... далеко от идеала под специальною задачу. Например, строка подключения может быть и такой:
Добавлено через 5 минут Кстати! -ankan, Драйвер уже есть 5.3 - пашет стабильно (у меня, и у тройки клиентов во всяком случае)
1
|
||||||||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||
| 26.06.2017, 11:02 [ТС] | ||
|
Eugene-LS,
Повторю свою просьбу- помогите, пожалуйста, удалить лишнюю часть кода линковки , оставить только линковку по ADOX. Про массивы- звучит красиво, но для меня не понятно. Можно подробнее? насколько я понял формируются несколько массивов и по какому-то условию, срабатывает линковка таблиц того или иного массива? Можно приложить подробное описание и код массивов + код линковки?
0
|
||
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||||||||
| 26.06.2017, 11:37 | ||||||||
|
Это лишнее. Добавлено через 27 минут
1
|
||||||||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||||||
| 26.06.2017, 11:48 [ТС] | ||||||
|
Eugene-LS, Спасибо!!
А если несколько массивов, то так ?
А код удаления линковки таблиц выбранных массивов приложите?
0
|
||||||
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||||||
| 26.06.2017, 12:10 | |||||||||||
|
Я бы сделал одну функцию, а массивы передавал через параметр
1
|
|||||||||||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
|
| 26.06.2017, 12:16 [ТС] | |
|
mobile, Массивы названы одинаково, это так и задумано? Ведь запускать линковку таблиц разных массивов нужно по возникновению разных событий. Как тогда массивы отличить?
0
|
|
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
|
| 26.06.2017, 12:20 | |
|
0
|
|
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
|
| 26.06.2017, 12:23 [ТС] | |
|
мыслю, что:
При открытии формы1 происходит линковка таблиц "массив_1" При переходе из формы1 в форму2 происходит дополнительная линковка таблиц "массив2" При закрытии формы2 (и перехода обратно, в форму1) происходит удаление линковки "масива2" При закрытии формы1 происходит удаление линковки "массив1"
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
| 26.06.2017, 12:26 | |
|
Входные массивы Вы можете назвать любыми подходящими именами. И конечно имена могут различаться. Внутри же функций Link_Tables и DeleteLinks переменная массива устанавливается по адресу входного массива, т.е. внутренний массив просто обращается к тому же месту в памяти, что и входной. Но с другим именем. Таким образом, называя входные массивы разными именами, никак не скажется на работе функции.
0
|
|
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
|||||||
| 26.06.2017, 12:30 | |||||||
1
|
|||||||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||
| 26.06.2017, 12:58 [ТС] | ||
|
Eugene-LS,
т.е.в модуле проекта должны быть заявлены функции: линковки таблиц "массив1" и линковки таблиц "массив2" и т.д также в модуле проекта должны быть заявлены: удаление линковки таблиц "массив1" и удаление линковки таблиц "массив2" и т.д _____________ При открытии формы1 Private Sub Form_Open(Cancel As Integer) запуск линковки таблиц "массив1" End Sub _________________ При закрытии формы1 Private Sub Form_Close(Cancel As Integer) запуск удаления линковки таблиц "массив1" End Sub Хочется как-то так. Возможно вся необходимая информация для самостоятельного составления такого кода уже есть, но мне сложнова-то это сделать. Прошу Вашей помощи- написать полный код для модуля проекта и для запуска линковки и удаления линковки при открытии и закрытии формы.
0
|
||
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||||||||||||||||||
| 26.06.2017, 13:17 | ||||||||||||||||||
|
Повторяю:
mobile вам написал уже готовый УНИВЕРСАЛЬНЫЙ вариант! Повторяю:
Добавлено через 8 минут ankan, - смотрите код будет примерно таким:
2
|
||||||||||||||||||
|
46 / 31 / 1
Регистрация: 28.09.2012
Сообщений: 991
|
||||||
| 26.06.2017, 13:41 [ТС] | ||||||
|
Eugene-LS, правильно ли я понял, что если у меня Кнопка "Извещения" запускает линковку массива arrTables01, и кнопка "Извещения" находится в общей сложности с различными именами 50 раз в проекте, то я должен 50 раз написать на событие "нажатие кнопки" код
??
0
|
||||||
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||
| 26.06.2017, 13:49 | ||
|
ankan, а позвольте спросить, зачем вы линкуете MySQL таблички?
И что вы будете делать когда между вами и хостером "искорка проскочит" и связь с сервером будет разорвана? (Это волне жизненная ситуёвина) Не проще ли на голом ADO работать и перепроверять состояние соединения перед каждым обращением к серверу. Так и быстрее работать с данными и надёжнее. Ну это моё мнение. Добавлено через 5 минут Ещё один ЖИРНЫЙ плюс в сторону ADO - там линковка не нужна совсем.
1
|
||
| 26.06.2017, 13:49 | |
|
Как происходит авторизация при установлении связи с сайтом? Регулярка по двум буквам подряд, но не трем или более
Написать код для решение по двум формулам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|