|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Как это сделать макросом? Руками знаю как, а вот макросом что то незнай как. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2017, 20:32 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Для тех кто хочет помочь, но не понял что написано: Как вот эту статью https://support.office.com/ru-ru/article/Импорт-данных-из-базы-данных-SQL-Server-или-связывание-с-ними-a5a3b4eb-57b9-45a0-b732-77bc6089b84e#ID0EABAAA=2010 сделать макромом на vba? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2017, 22:24 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Так макросом или на VBA? Научись уже однозначно формулировать, не в детском саду... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2017, 23:20 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Akina,ну как бы макросы пишутся на vba... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 07:11 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
BlackeAngel , на VBA пишут модули. А макросы - это макросы, для них даже вкладка одноимённая существует. Это не Эксель, где какой-то идиот модули решил называть макросами по причине отсутствия последних. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 07:43 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Akina, гм.. не знал, что именно все так плохо. Тогда модуль на vba. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 07:46 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Вариант 1 (простой): через DoCmd.TransferDatabase с TransferType:=acLink. Вариант 2 (посложнее): через DAO.database.CreateTableDef с присвоением соотв. .Connect и .SourceTableName. Вариант 3: аналогично варианту 2, но через ADOX. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 07:51 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Akina, первый вариант рассмотрим? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 08:20 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Да пжалста... сделай требуемое сперва именно макросом - там для каждого поля можно справку вызвать да почитать. А потом перенесёшь всё это в чистый VBA. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 08:30 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Линковать не стал, просто супер данные с серваке, как написано тут http://www.vb-helper.com/howto_ado_import_sql_server.html ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2017, 23:04 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
BlackeAngelЛинковать не стал, просто супер данные с серваке, как написано тут http://www.vb-helper.com/howto_ado_import_sql_server.html Вы зря отказались от дальнейших попыток линка, по первому варианту Акины. Потому что есть возможность линка таблиц/вьюшек, не привязываясь к конкретному экземпляру ODBC драйвера на стороне компьютера, где запускается ваш аксесс. И во вторых потеряли возможность использовать в качестве формы ввода логина и пароля родной интерфейс коннектора, который сразу без костылей на стороне клиента (то бишь аксесса) использует права и доступ, написанный на стороне SQL server. вот пример: Код: vbnet 1. 2.
После выполнения линка таблицы с сервера привычно отображаются слева в трее как линкованные. Есть маленькая хитрость, если не указывать логин и пароль, то вас во время выполнения данной команды вас попросят ввести логин и пароль, вы его введите, но потом не сохраняйте , когда линковка закончиться. Таблица разово прилинкуется, а потом, во время каждого открытия аксесса будет выскакивать это самое родное окно коннектора с просьбой ввести логин и пароль. Причем, независимо от того сколько вы залинковали таблиц, оно вводится один раз при загрузке аксесса и действует на время всей сессии в аксессе, на все таблицы, с правами и доступом соответственно, которые вы ввели при входе. (то есть если несколько юзеров, у которых права прописаны на стороне SQL server. будут вбивать их при входе, права на доступ к таблицам /вьюшкам при открытии базы в аксессе будут соответственно разные.) Вторым нюансом является то, что такой способ ( конкретно в коде выше ) линкует таблицы без привязки к именованному экземпляру DSN, и база может запускаться и подключаться к серверу с любого компьютера , на котором есть аксесс , хоть от бабушки в Сызрани, хоть из фавел Колумбии. Третьим нюансом является то, что в данном случае линковки вы не используете постоянные запросы к серверу в ADO , как вы прорекламировали по ссылке. После линковки объектов уже не надо ничего писать и поддержаивать лишнего. Функции поддержки соединения на себя берет встроенный ODBC driver. И вы на время работы в базе пользуетесь всем тем же классическим интерфейсом аксесса в полной мере возможностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 19:25 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Akina, Прошло много времени, а проблема так и осталась - так никто не сказал как на vba прилинковать таблицу. Используя ADO вне Access, например из Excel, или Word. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 13:13 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
Сергей Лалов, Вы правы, что не стал делать линковку(связывание) таблицы. Тогда надо было на скорую руку. Теперь это стало тормозом. В Access сделав руками связанную таблицу, работа ускорилась в разы. Теперь надо это делать из VB6 или VBA, однако, вне Access. Не знаю куда податься, поэтому пока пишу тут. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 13:16 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
BlackeAngelAkina, Прошло много времени, а проблема так и осталась - так никто не сказал как на vba прилинковать таблицу. Используя ADO вне Access, например из Excel, или Word.сказали тут - 21032511 п.3 Пример отсюда - http://hiprog.com/index.php?option=com_content&task=view&id=251661555&Itemid=35 Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 13:27 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
вопрос в тему: есть старая клиент-серверная ADP-шка, которую в связи с миграцией на офис 2013 приходится переделывать в accdb+связи с таблицами SQLсервера. В adp-шке порядка 100 таблиц, а специфика работы приложения такова, что пользователи весь год сидят, а в последний месяц перед сдачей годового отчёта их порядка 200шт ломятся толпой в приложение, и начинают чтото править. т.е. 100x200 = 20000 коннекций к серверу возникает в пиковые дни. Как можно минимизировать пиковую нагрузку от присоединённых таблиц? Просто переделанное приложение проживёт ещё год максимум, и дальше на другую платформу все переедут. Т.е. кардинально переписывать смысла не имеет. Есть какоето менее трудозатратное решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 13:53 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
court, На строке Код: vbnet 1.
91 ошибка: Object variable or With block variable not set ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:03 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
BlackeAngelcourt, На строке Код: vbnet 1.
91 ошибка: Object variable or With block variable not setты эту переменную так объявил, как в примере ? Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:18 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
court, Пардон, ошибка в другом месте: Код: sql 1.
Ошибка: не удаётся найти файл D:\Мои документы\[ODBC;Driver=SQL Server;Server=server;APP=Microsoft Office;UID=UserName;PWD=абырвалг; DataBase=base_Name].[dbo].[tablename]" Что он забыл там? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:22 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
courtBlackeAngelcourt, На строке Код: vbnet 1.
91 ошибка: Object variable or With block variable not setты эту переменную так объявил, как в примере ? Код: vbnet 1.
Да, всё верно, new пропустил. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:35 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
court, Всё у меня выглядит вот так Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:42 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
BlackeAngelcourt, Пардон, ошибка в другом месте: Код: sql 1.
Ошибка: не удаётся найти файл D:\Мои документы\[ODBC;Driver=SQL Server;Server=server;APP=Microsoft Office;UID=UserName;PWD=абырвалг; DataBase=base_Name].[dbo].[tablename]" Что он забыл там? так, имхо Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:43 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
courtBlackeAngelcourt, Пардон, ошибка в другом месте: Код: sql 1.
Ошибка: не удаётся найти файл D:\Мои документы\[ODBC;Driver=SQL Server;Server=server;APP=Microsoft Office;UID=UserName;PWD=абырвалг; DataBase=base_Name].[dbo].[tablename]" Что он забыл там? так, имхо Код: vbnet 1.
По-прежнему та же ошибка. Почему он вначале добавляет мои документы? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:46 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
BlackeAngelcourtпропущено... так, имхо Код: vbnet 1.
По-прежнему та же ошибка. Почему он вначале добавляет мои документы? измени имя свойства с "Jet OLEDB:Link Datasource" на "Jet OLEDB:Link Provider String" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:52 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
courtBlackeAngelпропущено... По-прежнему та же ошибка. Почему он вначале добавляет мои документы? измени имя свойства с "Jet OLEDB:Link Datasource" на "Jet OLEDB:Link Provider String"да, правильно, не та "пропертя" была навсякий: https://www.tek-tips.com/viewthread.cfm?qid=1081913 Код: 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. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:55 |
|
Прилинковать таблицу с сервера SQL макросом
|
|||
---|---|---|---|
#18+
courtcourtпропущено... измени имя свойства с "Jet OLEDB:Link Datasource" на "Jet OLEDB:Link Provider String"да, правильно, не та "пропертя" была навсякий: https://www.tek-tips.com/viewthread.cfm?qid=1081913 Код: 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. 30. 31. 32. 33. 34.
Завелось. Ура, спасибо. Теперь последний штрих - как сделать что б прилинкованная таблица не запрашивала пароль? То есть сделать с сохранением юзера и пароля. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 15:00 |
|
|
start [/forum/topic.php?fid=45&fpage=25&tid=1610421]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
others: | 317ms |
total: | 490ms |
0 / 0 |