powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Окончание Connection.Execute
4 сообщений из 4, страница 1 из 1
Окончание Connection.Execute
    #32868958
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

Вопрос у меня такой:

Сначала я выполняю череду запросов

Set MyConn = New ADODB.Connection
MyConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data/kv.mdb;Persist Security Info=True"
MyConn.Open "data/Kv.mdb"

MyConn.Execute ("DELETE tmp_lgota.field1....
MyConn.Execute ("INSERT INTO tmp_lgota ( KodKv,,,

потом сразу
Set MyRs = New ADODB.Recordset
Set MyRs.ActiveConnection = MyConn
MyRs.CursorType = adOpenDynamic
MyRs.LockType = adLockBatchOptimistic


MyRs.open("SELECT tmp_lgota.UniKOd, tmp_lgota.KodKv....


If Lgota.EOF = False Then Lgota.MoveFirst


Do While Not MyRs.EOF
MyRs.Fields("itog").Value = 0.033
MyRs.Fields("prim1").Value = 0.325
MyRs.Fields("prim1").Value = 1
MyRs.MoveNext
Loop



Говорит что база занята, либо число строк с предпологаемыми изменениями привышает предельно допустимое, либо что текущая запись удалена.
Хотя записи присутствуют, т.к. перед циклом по записям для отладки вывожу MyRs в грид,
все записи на месте, т е MyConn.Execute ("INSERT INTO уже отработал.

Ошибка выдается на MyRs.MoveNext

Ошибка плавающая (т.е. то есть то нет, то одна то другая), что выводит из себя еще больше.
Менял, читал, перечитовал о типах курсоров, без результатно.

Чуствую что MyConn.Execute не успевает отработать, а может и нет.
Короче знаний не хватает.
Поделитесь опытом пожалуйста.
...
Рейтинг: 0 / 0
Окончание Connection.Execute
    #32869012
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед MyRs.MoveNext нужно еще MyRs.Update

...
Рейтинг: 0 / 0
Окончание Connection.Execute
    #32869472
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Andrey13
Более трудоёмкий, но зато более контролиремый путь - событийное программирование.
В этом случае появляется возможность не подозревать, что виновато
Andrey13потом сразу
MyRs.open("SELECT tmp_lgota.UniKOd, tmp_lgota.KodKv...., а явно инициировать выборку после возбуждения события ExecuteComplete...
...
Рейтинг: 0 / 0
Окончание Connection.Execute
    #32870690
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясни пожалуйста что значит явно?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Окончание Connection.Execute
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]