0

https://msdn.microsoft.com/en-us/vba/access-vba/articles/form-recordset-property-access

这个链接正是我需要的,但是在关注它之后我仍然无法让我的子表单刷新他们的数据。我已将它们绑定到 ADO 数据源,当它们打开时,数据会正确显示,但是当我更改子窗体的基础数据时,它不会显示,直到我关闭并重新打开主窗体。

Private Sub Form_Open(Cancel As Integer) 'Subform code fires when main form opens.
    Dim ADOcnn10 As ADODB.Connection
    Dim ADOstr10 As String
    ADOstr10 = "Provider='Microsoft.Access.OLEDB.10.0';Persist Security Info=False;Data Source=C:\data\Data.accdb;User ID=Admin;Data Provider=Microsoft.ACE.OLEDB.12.0"
    Set ADOcnn10 = New ADODB.Connection
    ADOcnn10.Open ADOstr10

    Dim ADOrst10 As ADODB.Recordset
    Set ADOrst10 = New ADODB.Recordset
    ADOrst10.Open "SELECT * FROM tblTemp", ADOcnn10, adOpenKeyset, adLockOptimistic
    Set Me.Recordset = ADOrst10
    Forms(0).RecordSource = Forms(0).RecordSource
End Sub
4

1 回答 1

0

我选择了一种解决方法: 1. 放弃子表单并用独立的表单替换它们 2. .Requery 仍然没有工作...... 3. 所以我现在关闭并重新打开(曾经是子表单)以检索他们最新的记录集 该应用程序现在可以很好地使用这种方法。如果有人可以推荐一门可以教我正确编码的学习课程,那就太好了,否则...

于 2017-09-26T08:59:14.573 回答