|
|
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Можно ли в *.ADP на ходу менять CurrentProject.Connection ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2002, 08:13 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
См. пример с базой Борей (ADP). А в принципе - так Public Sub ChangeDB(NewDBName As String) Dim ConnectStr As String Dim InitCat As String, StartPos As Integer, EndPos As Integer ConnectStr = CurrentProject.BaseConnectionString StartPos = InStr(1, ConnectStr, "Initial Catalog", 1) StartPos = InStr(StartPos + 15, ConnectStr, "=") + 1 EndPos = InStr(StartPos, ConnectStr, ";") If EndPos = 0 Then ConnectStr = Left(ConnectStr, StartPos - 1) + NewDBName Else ConnectStr = Left(ConnectStr, StartPos - 1) + NewDBName + Right(ConnectStr, Len(ConnectStr) - EndPos + 1) End If CurrentProject.OpenConnection ConnectStr, <user_name>, <Password> End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2002, 09:58 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Спасибо за отклик. В том-то и дело, что OpenConnection не работает. Выдает Run-time error Method 'OpenConnection' of object '_CurrentProject' failed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2002, 13:14 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
При запуске открывается форма регистрации, в которой считываются данные пользователя и запускается указанная процедура ChangeDB. Соответственно, это можно делать и в процессе работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2002, 14:51 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Так чем дело кончилось? У меня такая-же проблема. А как решить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2002, 09:59 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
А я это делал так, тока это сделано было для случая потери связи с серваком: Const con = "PROVIDER=SQLOLEDB.1;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Dogovor_tmp;DATA SOURCE=MAIN;Current Language=English;Use Procedure for Prepare=1;Auto Translate=True;Application Name=Финплан" Dim s As String 'On Error Resume Next s = MsgBox("Cейчас будет произведена попытка восстановить соединение с сервером." & Chr(10) & "Если соединение не восстановится, то следует выйти из программы," & Chr(10) & "произвести обновление и обратно запустить программу!", vbInformation, "Внимание") s = Application.SysCmd(acSysCmdSetStatus, "Идет соединение с сервером!") If CurrentProject.IsConnected Then CurrentProject.CloseConnection On Error Resume Next CurrentProject.Connection.Open con ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2002, 16:13 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, господа. Увидел тему "Можно ли в *.ADP на ходу менять CurrentProject.Connection?" и обрадовался. У меня точно такая проблема. Но - увы! - ответа я здесь не вижу. Я пробовал и Application.CurrentProject.Connection.Open ..., и Application.CurrentProject.Connection.ConnectionString = ... - но получаю одну и ту же ошибку: Run-time error '3705': Operation is not allowed when the object is open. Какой именно object is open??? Я не нашел, что надо закрыть. Connection я закрывал, но, правда, Application открыт, но я просто в нем нахожусь и не намерен выходить. И пока получается, что я не имею возможности поменять ConnectionString. И значит - не могу создать проект для заказчика, если сам при этом нахожусь у себя, а не у него. Возможно ли такое? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 18:39 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Тот же вопрос был и у меня. Пытался попробовать такой трюк Код: plaintext В результате использую ChangeDB, правда с небольшими корректировками - у меня SQL авторизация, потому требуется переспрашивать у пользователя имя и пароль. В идеале хотелось бы сделать нечто типа такого 1. При инсталляции приложения клиенту в реестр записывается инфа о сервере БД 2. При старте приложения - появляется форма со списком (или TreeView ) доступных серверов БД (первоначально один - полученный при инсталляции ). Этот список можно редактировать. 3 При разворачивании узла TreeView (сервера) - получить список доступных проектов (не имен баз, а имеющих смысл описаний проектов) 4 При выборе проекта произвести подключение к нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 19:49 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Вопрос к SM. Спасибо за ответ, но я ничего не понял. Что надо поставить в DBName? Ведь указать-то надо и имя сервера, и юзера, и пароль, да и вообще весь ConnectionString. Там есть место для этого всего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 20:07 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
P.S. И что такое ChangeDB? Мой Object Browser такого не находит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 20:29 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Можно ли в *.ADP на ходу менять CurrentProject.Connection ? можно например переключаем текущий проект на базу pubs Код: plaintext 1. 2. 3. 4. To All (у кого не получается) пишите подробнее, что делаете. Например, как по постам автора трэйда - Сергея, понять что он неправильно делает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 01:29 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
подключться то можно, никто не знает как заставить отключиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 10:52 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
2 All Полностью согласен с -=Alexey=- метод CurrentProject.OpenConnection прекрасно работает, при условии, что правильно сформирована строка подключения. 2 АлексейК Отключиться от базы доволно просто с помощью того же метода CurrentProject.OpenConnection "" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 11:50 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Рассказываю, что я делаю не так. :^) 1. Беру готовый ADP, спрашиваю CurrentProject.Connection, запоминаю. 2. Переключаю вручную на другую базу данных. 3. Запускаю CurrentProject.OpenConnection с той строкой, которую запомнил в п.1. 4. Получаю ошибку 80004005: Method 'OpenConnection' of object '_CurrentProject' failed. Вот два примера строк: Provider=MSDataShape.1;Persist Security Info=True;Data Source=...;User ID=...;Password=...;Initial Catalog=...;Data Provider=SQLOLEDB.1 Provider=MSDataShape.1;Persist Security Info=False;Data Source=...;Integrated Security=SSPI;Initial Catalog=...;Data Provider=SQLOLEDB.1 Может, надо что-то поменять в самой строке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 13:31 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Запрашивать нужно не Connection, а BaseConnectionString ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 13:39 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
Уррррра, заработало!!! (С) кот Матроскин. incold, громадное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 13:46 |
|
||
|
Можно ли в *.ADP на ходу менять CurrentProject.Connection ?
|
|||
|---|---|---|---|
|
#18+
to:Дмитрий123 неужели у вас эти свойства Const con = "PROVIDER=SQLOLEDB.1;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Dogovor_tmp;DATA SOURCE=MAIN;Current Language=English;Use Procedure for Prepare=1;Auto Translate=True;Application Name=Финплан" реально выставляются в currentproject.conection ? у меня нет. по крайней мере Microsoft SQL Profiler продолжает показывать, что access использует каждый раз sp_prepare. да и Application Name не то которое я ставил (пытался ставить). можт ктоньть откроет секрет как установить из VBA свойства currentproject.connection в currentproject.openconnection первый параметр - BaseConnectionString, в котором можно ставить только "PROVIDER=SQLOLEDB.1;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=db;DATA SOURCE=server" а как же остальные? с учетом того что для того чтобы сделать свою форму авторизации каждый раз при выходе делается "currentproject.openconnection "Provider="", вариант вбить один раз ручками а потом хватит и baseconnection string не подходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32028968&tid=1680934]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 314ms |

| 0 / 0 |
