![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Euclid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.10.2004 Репутация: нет Всего: 1 |
В процессе разоработки постоянно приходится коннектиться к видам на MS SQL.
Использую процедуру DoCmd.TransferDatabase acLink, "ODBC", connectway, acTable, remotename, TableName Каждый раз выскакивает формочка предлагающая выбрать уникальный ключ для этого вида (таблицы). Как можно это автоматизтровать? Как в процедуру TransferDatabase передать имена полей для ключа? |
|||
|
||||
Papirus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
А через ADO не удобно?
По существу вопроса, честно говоря, не знаю, что подсказать, поскольку ODBC для коннекта не использую. Но верю что это вам необходимо. Так что мой вопрос можно считать риторическим. ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
А может коннектиться через ADO? Recordset.ActiveConnection... там вроде этой проблемы нет...
Добавлено @ 15:59 Papirus ![]() -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Papirus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Akina
![]() Наливаю! ![]() |
|||
|
||||
Euclid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.10.2004 Репутация: нет Всего: 1 |
Я не знаю какой коннект.
Я беру меню Файл и коннектусь. Выскакивает формочка с вопросом о ключе. Поскольку таблиц много, то написал цикл по таблицам, в котором использую эту процедуру (TransferDatabase). И на каждом виде надо сидеть и выбирать ключ. Это долго и чревато ошибками. Хотелось бы для каждоговида в табличку занести имена ключевых полей и чтобы программа при коннекте сама брала поля из таблицы. |
|||
|
||||
Papirus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
|
|||
|
||||
Euclid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.10.2004 Репутация: нет Всего: 1 |
Спасибо!
Я неправильно объяснил. Соединение с таблицей или видом - статическое- видимое в окне Database. Я не в процедуре или в форме коннектюсь. Для отладки я меняю Базы на севере и после заново коннекчусь ко всем таблицам в базе. |
|||
|
||||
Papirus |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
И
![]() |
||||
|
|||||
Euclid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.10.2004 Репутация: нет Всего: 1 |
Dim cnn As New ADODB.Connection, rs As New ADODB.Recordset
On Error GoTo err_ex cnn.CursorLocation = adUseClient cnn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;" _ & "Initial Catalog=MyDB;Data Source=MyServer;Trusted_Connection=yes;" 'User Id=sa;Password=;" rs.CursorLocation = adUseClient rs.Open "Select Field1,Field2...FieldN From MyView1", cnn, adOpenKeyset,adLockOptimistic Forms!MyForm1.Recordsource = rs Мне не надо делать последнюю команду. Можно сказать так, что у меня вообще нет форм. У меня много таблиц и видов на сервере. К ним надо подконненктитится, чтобы они были на вкладке таблицы. Без всяких форм. Есть один макрос, который в цикле по именам таблиц вызывает встроенную процедуру DoCmd.TransferDatabase acLink, "ODBC", connectway, acTable, remotename, TableName И она (TransferDatabase!) для каждого вида выкидывает запрос на ключ. Как ей подсунуть имена полей, чтобы не сидеть и вручную не выбирать поля. Когда таблиц и видов сотни! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Euclid
слушай, а у тебя ADP или MDB??? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Euclid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.10.2004 Репутация: нет Всего: 1 |
Access 2003
обычный файл mdb. |
|||
|
||||
Papirus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
На сервере лежит файл MDB??? или используется SQL server? Я б сказал оч разные вещи!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |