Использование Access 2010. У меня есть две подформы from
и to
. У меня есть две кнопки в основной форме: addRecord
, которая добавляет новую запись в to
, используя значения из текущей выбранной записи from
и из основной формы и deleteRecord
, которая удаляет выбранную запись to
.Попытка удалить запись подформы возвращает «Нет текущей записи»
Вот код для двух кнопок:
Private Sub addRecord_Click()
Dim contactid As Long
Dim requestid As Long
Dim startDate As Date
contactid = Me.from_subform.Controls("contactID").Value
requestid = Me.ID.Value
startDate = Me.startDate.Value
With Me.to_subform.Form.RecordsetClone
.AddNew
!AEid = contactid
!requestid = requestid
!startDate = startDate
.Update
End With
Me.to_subform.Form.Requery
Me.from_subform.Form.Requery
End Sub
Private Sub deleteRecord_Click()
If Me.to_subform.Form.RecordsetClone.RecordCount = 0 Then
Exit Sub
End If
Me.to_subform.Form.Recordset.Delete
Me.to_subform.Form.Recordset.MoveNext
Me.from_subform.Form.Requery
End Sub
from
получает перезапросить, потому что некоторые из его полей зависит от того, существует или нет соответствующая запись в to
.
Проблема заключается в том, что, когда у меня есть одна запись в to
, а затем добавить еще один с помощью addRecord
, когда я пытаюсь удалить первую запись с deleteRecord
, я получаю следующее сообщение об ошибке:
Run-time error '3021':
No current record.
I может выбрать любую другую запись в to
, кроме первой, и удалить ее; также, если to
пуст, и я добавляю к нему одну запись, тогда я могу ее удалить. И как только я удалю другую запись в to
, я могу выбрать ее и удалить.
Как удалить первую запись, не удаляя ее первым?
EDIT: изучения записей далее в отладчик, когда я получаю сообщение об ошибке No current record
, .BOF
и .EOF
оба Ложные, но .AbsolutePosition
-1.
Проблемы такого подхода заключается в том, что, когда я пытаюсь принести ContactId от выбранной записи в 'в' подчиненного с помощью: ' тусклого ContactId в long' 'ContactId = Me.to_subform.Form.RecordsetClone ContactId ' Я получаю ту же ошибку« Нет текущей записи ». – sigil