Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> подключение видов MS SQL 
:(
    Опции темы
Euclid
Дата 25.4.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.10.2004

Репутация: нет
Всего: 1



В процессе разоработки постоянно приходится коннектиться к видам на MS SQL.
Использую процедуру
DoCmd.TransferDatabase acLink, "ODBC", connectway, acTable, remotename, TableName

Каждый раз выскакивает формочка предлагающая выбрать уникальный ключ для этого вида (таблицы).

Как можно это автоматизтровать?
Как в процедуру TransferDatabase передать имена полей для ключа?
PM MAIL   Вверх
Papirus
Дата 25.4.2005, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



А через ADO не удобно?
По существу вопроса, честно говоря, не знаю, что подсказать, поскольку ODBC для коннекта не использую. Но верю что это вам необходимо. Так что мой вопрос можно считать риторическим. smile
PM MAIL ICQ   Вверх
Akina
Дата 25.4.2005, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



А может коннектиться через ADO? Recordset.ActiveConnection... там вроде этой проблемы нет...
Добавлено @ 15:59
Papirus smile


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Papirus
Дата 25.4.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



Akina smile
Наливаю! smile

PM MAIL ICQ   Вверх
Euclid
Дата 25.4.2005, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.10.2004

Репутация: нет
Всего: 1



Я не знаю какой коннект.
Я беру меню Файл и коннектусь. Выскакивает формочка с вопросом о ключе.
Поскольку таблиц много, то написал цикл по таблицам, в котором использую эту процедуру (TransferDatabase). И на каждом виде надо сидеть и выбирать ключ. Это долго и чревато ошибками. Хотелось бы для каждоговида в табличку занести имена ключевых полей и чтобы программа при коннекте сама брала поля из таблицы.
PM MAIL   Вверх
Papirus
Дата 26.4.2005, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 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

PM MAIL ICQ   Вверх
Euclid
Дата 26.4.2005, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.10.2004

Репутация: нет
Всего: 1



Спасибо!

Я неправильно объяснил.
Соединение с таблицей или видом - статическое- видимое в окне Database.

Я не в процедуре или в форме коннектюсь.
Для отладки я меняю Базы на севере и после заново коннекчусь ко всем таблицам в базе.

PM MAIL   Вверх
Papirus
Дата 27.4.2005, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



Цитата(Euclid @ 25.4.2005, 15:42)
В процессе разоработки постоянно приходится коннектиться к видам на MS SQL.
Использую процедуру
DoCmd.TransferDatabase acLink, "ODBC", connectway, acTable, remotename, TableName

И
Цитата(Euclid @ 26.4.2005, 16:40)
Я не в процедуре или в форме коннектюсь.


smile

PM MAIL ICQ   Вверх
Euclid
Дата 27.4.2005, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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!) для каждого вида выкидывает запрос на ключ.
Как ей подсунуть имена полей, чтобы не сидеть и вручную не выбирать поля.
Когда таблиц и видов сотни!

PM MAIL   Вверх
Akina
Дата 27.4.2005, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Euclid
слушай, а у тебя ADP или MDB???


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Euclid
Дата 27.4.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.10.2004

Репутация: нет
Всего: 1



Access 2003
обычный файл mdb.

PM MAIL   Вверх
Papirus
Дата 28.4.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



Цитата(Euclid @ 27.4.2005, 16:18)
Можно сказать так, что у меня вообще нет форм. У меня много таблиц и видов на сервере.

На сервере лежит файл MDB??? или используется SQL server?

Я б сказал оч разные вещи!!
PM MAIL ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0776 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.