Переход на заданную запись
|
|
Вторник, 14 Апреля 2015 г. 09:18
+ в цитатник
Здравствуйте.
Задача. При изменении записи мне необходимо её скопировать и перевести курсор на новую запись.
Решение.
1. Обработка события Dirty.
Private Sub Form_Dirty(Cancel As Integer)
If IsNull(idDataScrewMetiz) Then
mbRecordNew = True
Else
mbRecordNew = False
mbActiveControlValueOld = Me.ActiveControl.Value
Set mActiveX = Me.ActiveControl
If MsgBox("Внести изменения?", vbYesNo) = vbYes Then
mbRecordEdit = True
CopyRecord
Else
mbRecordEdit = False
End If
End If
Cancel = False
End Sub
2. Добавлтние записи и перевод курсора на неё.
Private Sub CopyRecord()
Dim AdoRstCopy As ADODB.Recordset
Dim i As Long
Set AdoRstCopy = Me.RecordsetClone
With Me.Recordset
AdoRstCopy.AddNew
For i = 1 To AdoRstCopy.Fields.Count - 1
On Error Resume Next
AdoRstCopy.Fields(i) = .Fields(i)
Next i
AdoRstCopy.Update
midDatascrewmetiz = AdoRstCopy.Fields(0)
.Requery
.FindFirst "idDatascrewmetiz=" & CStr(midDatascrewmetiz)
If .NoMatch Then MsgBox "Record not found."
End With
Set AdoRstCopy = Nothing
End Sub
В этой процедуре не находится запись с заданным midDatascrewmetiz, хотя она существует (только что была добавлена).
Скажите, пожалуйста, по какой причине это происходит?
http://www.sql.ru/forum/1152049/perehod-na-zadannuu-zapis
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-