Я все еще играю с MS Access, и это сводит меня с ума. Моя текущая проблема заключается в следующем: я воссоздал панель навигации записи как подчиненную форму и добавил ее к моей основной форме. Этот код используется в подформеДоступ: События в родительской форме
...
Private WithEvents frmParent As Access.Form
...
Private Sub Form_Load()
...
Set frmParent = Me.Parent
frmParent.OnCurrent = "[Event Procedure]"
frmParent.Recordset.MoveLast
frmParent.Recordset.MoveFirst
...
End Sub
Private Sub frmParent_Current()
If frmParent.CurrentRecord = frmParent.Recordset.Count Then
Me.butNext.Enabled = False
Else
Me.butNext.Enabled = True
End If
If frmParent.CurrentRecord = 1 Then
Me.butPrevious.Enabled = False
Else
Me.butPrevious.Enabled = True
End If
End Sub
...
Other MainForm Events...
Из-за этого возникают некоторые проблемы. Во-первых: ни одно из событий от пожара MainForm. Второе: время от времени (особенно после ошибок) vba теряет ссылку на основную форму. Я мог бы использовать обходное решение Win32 API с CopyMemory, но это, похоже, слишком велико.
Я, как всегда, благодарен за любую помощь.
Большое спасибо
Jon
Когда вы говорите, что события не срабатывают, вы имеете в виду только в родительской форме? Или даже в подформе? Если это только в родительской форме, я не удивлюсь, поскольку вы ловите все события в подформе. –
Я должен спросить, почему вы решили поместить эти навигационные кнопки в подформу? Ваша жизнь была бы проще, если бы вы разместили их непосредственно на форме, возможно, используя Rectangle для их группировки (визуально). –
Поскольку у меня много разных форм, и я хотел бы иметь такое же поведение и посмотреть во всех них, я решил пойти именно так. @EMett: только события в основной форме, подформат работает по назначению. – JonBlumfeld