Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: helena_
Dim fld As ADODB.Field
Dim i As Integer
Dim ctl As Control
Dim frmCurr As Form
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Dim prm As ADODB.Parameter

Set cnn = New ADODB.Connection
cnn.Open "file Name=" & CurrentProject.Path & "\соединение.udl"
Set рекодсет = New ADODB.Recordset
рекодсет.CursorLocation = adUseClient
рекодсет.LockType = adLockOptimistic


Rem рекодсет.Open "ХанимаяПроцедура", cnn, adOpenKeyset, adLockBatchOptimistic

Set cmd.ActiveConnection = cnn
cmd.CommandText = "ХанимаяПроцедура"
cmd.CommandType = adCmdStoredProc
Set рекодсет = cmd.Execute

из рекодсет (данные хран проц) заношу значен полей в свободную форму
Set frmCurr = Form_Свободная
For Each fld In рекодсет.Fields
For Each ctl In frmCurr
If ctl.Name = fld.Name Then
frmCurr(ctl.Name).Value = fld.Value
End If
Next ctl
Next fld

далее изменяю знач полей свободной формы и пытаюсь записать измененные данные в рекордсет
For Each fld In рекодсет.Fields
For Each ctl In frmCurr
If ctl.Name = fld.Name And ctl.Name <> "код" Then
рекодсет(ctl.Name).Value = frmCurr(ctl.Name).Value
рекодсет.UpdateBatch
End If

Next ctl
Next fld

Подскажите, почему если использовать
рекодсет.Open "ХанимаяПроцедура", cnn, adOpenKeyset, adLockBatchOptimistic
далее обновление рекодсет происходит нормально,

а если Set рекодсет = cmd.Execute, то выдается сообщение текущий объект не поддерживает обновление. Это связано с ограничением поставщика или с выбранным типом блокировки


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.