|
|
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
Есть форма. При ее вызове создается 2 временные локальные таблицы на SQL Server. Одна из них заполняется. При открытии формы в VB стоит вызов хранимой процедуры на вставку в другую временную таблицу. Dim q As QueryDef Set q = CurrentDb.QueryDefs("KV_") q.Sql = "Execute Pr_GroupKontra " & num & ", 1 " q.Connect= "ODBC;DSN=SQLDSN;SERVER=SPRUTMASTER;UID=Elena;PWD=511pea;APP=Microsoft® Access;WSID=SPRUTMASTER;DATABASE=omarBase;" q.Execute Программа слетает на месте где стоит Execute: "ODBC ошибка" KV_ - запрос к серверу. Если зайти в него и запустить запрос, то он нормально выполнится оттуда. А если не запустить, а просто открыть, а потом продолжить выполнение программы, она тоже выполнится. что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 06:34 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
Локальная временная таблица существует только для коннекшена, в котором она создана. Наверное, у тебя коннекшены получаются разные. Один из вариантов- прямо в запросе дропать временную таблицу, если она есть, и создавать заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 07:11 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
для Shark : А если в этой временной т/б есть данные, которые нужны? И может есть какие-то тонкости в использовании временных таблиц? А то вот они как-то не всегда верно работают. Например, временная таблица создана, можно получить данные из нее, на ее основе открывается форма, и когда форма открыта, то на все обращения к т/б - ошибка, т/б не видно, ее как будто нет,хотя на самом деле она есть, и после закрытия формы видна. И есть такие же формы и в них все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 08:47 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
во первых как сказал шарк - если временная таблица создается в другом конекшене - что у тебя и есть то она не будет у тебя видна во вторых если у тебя временную таблицу создает хранимая процедура то после завершения хранимой процедуры она прибъет эту таблицу лучше использовать для работы с временными таблицами библиотеку ADO если у тебя MDB то создай объект ADODB.CONNECTION и выполняй в нем свои последовательности команд Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 09:14 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
>Может, есть тонкости в использовании временных таблиц Есть. И она(тонкость) уже озвучена. Локальная временная таблица живет только для своего коннекшена. На мой взгляд нелепо размещать временные таблицы на сервере, загружать его и создавать лишний трафик. Я в ADP то держу рядом с файлом проекта MDB для таких целей. А при ODBC то и подавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:03 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
>как то не совсем верно работают Есть в Access косяк- он использует два коннекшена. Я это в профайлере видел. ADP- проект. CurrentProject.Connection- один, а форма использует другой. Зачем ему два понадобилось- на совести разработчиков. Что-то поди с транзакциями в ихнем коде. Но этот косяк к вопросу отношения не имеет, так как ты явно создаешь для своего запроса отдельный коннекшн с отдельной строкой подключения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:10 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
>2Shark Интересно, а каким образом ты к ADP MDB прислюнил ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:51 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
2 SergeyKa Скорее всего просто через ADO.Connection подрубился (ИМХО) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:54 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
>2paprome а я то думал через Связь с таблицами (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:59 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
а я то думал через Связь с таблицами (( И так частенько делаю. А в чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:07 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
2 Shark Есть в Access косяк- он использует два коннекшена. Я это в профайлере видел. ADP- проект. CurrentProject.Connection- один, а форма использует другой. Вообще-то это изначально в аксесе было, даже в mdb. Для форм существовал свой собственный DAO.Workspace, отличный от DBEngine(0). И доступа к этому Workspace'у никак нельзя было получить (поэтому, например, в 97-м транзакции по форме и нельзя было устроить) Это так, к слову пришлось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:16 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что в ADP нельзя привязать таблицу из MDB ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:18 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
таблицу прилинковать к серверу можно, но не нужно делают рекодсет подключенный к мдб и назначают его форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:21 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
сергейка естли не можешь привязать к adp таблицы из mdb, то и нефиг писать "ADP нельзя привязать таблицу из MDB" остальные могут, причем несколькими способами. прежде чем писать об этом, прожуй сначала. блин, неумники пошли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:38 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
2ищ Я конечно извиняюсь ( а можно хоть про один способ то узнать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:44 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
а можно хоть про один способ то узнать ? paparomeСкорее всего просто через ADO.Connection подрубился (ИМХО) АлексейКделают рекодсет подключенный к мдб и назначают его форме Вот один из способов Чем плох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:47 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
А я могу этот самый рекордсет использовать в запросе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:49 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
А я могу этот самый рекордсет использовать в запросе Конечно! Почему нет. 3-й способ - Файл - Внешние данные - Связь с таблицами - Связанный сервер - выбираешь или создаешь источник данных и вперед! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:52 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
Set cnn = New ADODB.Connection cnn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & CurrentProject.Path & "\манечка.mdb" cnn.Open Set rst = New ADODB.Recordset rst.Open "SELECT Пользователь, ИмяОбъекта, LeftObject, TopObject, WidthObject, HeightObject " _ & "FROM tblКоордРазмерОбъектов " _ & "WHERE Пользователь='" & current_user & "' AND ИмяОбъекта='" & frm.Name & "'", cnn, adOpenKeyset, adLockOptimistic, adCmdText ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:53 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
А я могу этот самый рекордсет использовать в запросе ? Вопрос (ИМХО) состоял в том, как в одном запосе соединить таблицы из mdb и MSSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:00 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
2paparome Да да хоть один правильно понял ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:04 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
>Как к ADP mdb Только не через ADO, а через DAO. Он ему родной, и с обновляемостью рекордсетов проблем нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:39 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
автори с обновляемостью рекордсетов проблем нет и не только с обновляемостью но и суммовыми полями, рефрешем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:42 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
Вопрос (ИМХО) состоял в том, как в одном запосе соединить таблицы из mdb и MSSQL ДА КАКЯ НАФИГ РАЗНИЦА! Объединяй себе наздоровье. Присоединеннуя таблицу из MDB файла SQL Server понимает как представление, и работает с ней абсолютно нормально! Повторяю - я довольно часто пользуюсь этим приемом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 15:26 |
|
||
|
Работа с временными таблицами на SQL Server из VBA
|
|||
|---|---|---|---|
|
#18+
>Вопрос (ИМХО) состоял в том, как в одном запосе соединить таблицы из mdb и MSSQL Это, по моему, не надо. Я по рекордсетам бегаю и копирую. Присоединение MDB к SQL не имеет ни малейшего смысла. На сервере своих таблиц хватает. Речь идет о том, что если нужна какая-то временная информация на клиенте, то и работать с ней удобно на клиенте и не мучить ею сервер. Забрав ее(информацию) предварительно с сервера через рекордсеты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 15:46 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32498435&tid=1674997]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 390ms |

| 0 / 0 |
