我有一个主要形式[frmHome]
。它有两个子形式[sbfHome]
& [sbfRemarkHome]
。
我希望用户能够单击任一表单上任何记录中的任何字段,并打开一个包含该记录所有相关数据的新表单。
我已经尝试过.ActiveControl
,但它总是 FALSE 不起作用。
我也试图ActiveForm.Name
在我的代码的 EOF/BOF 部分中使用和携带它。
我怎么知道哪个子表单有焦点?
Private Sub btnSummary_Click()
Dim frmCurrentForm As String
frmCurrentForm = ActiveForm.Name
If Not (Me.frmCurrentForm.Form.Recordset.EOF And
Me.frmCurrentForm.Form.Recordset.BOF) Then
With Me.frmCurrentForm.Form.Recordset
txtEARNumber = .Fields("EAR Number")
End With
End If
DoCmd.OpenForm "frmView"
[Forms]![frmView].txtEARNumber = txtEARNumber
Forms!frmView.Form.Requery
Forms!frmView.Refresh
End Sub
或者
Private Sub btnSummary_Click()
If Me.sbfHome.Form.ActiveControl = True Then
If Not (Me.sbfHome.Form.Recordset.EOF And Me.sbfHome.Form.Recordset.BOF)
Then
With Me.sbfHome.Form.Recordset
txtEARNumber = .Fields("EAR Number")
End With
End If
Else
If Not (Me.sbfRemarkHome.Form.Recordset.EOF And
Me.sbfRemarkHome.Form.Recordset.BOF) Then
With Me.sbfRemarkHome.Form.Recordset
txtEARNumber = .Fields("EAR")
End With
End If
End If
DoCmd.OpenForm "frmView"
[Forms]![frmView].txtEARNumber = txtEARNumber
Forms!frmView.Form.Requery
Forms!frmView.Refresh
End Sub