从SQL Server插入一些数据的表中读取数据的问题

问题描述 投票:0回答:1

我有一个子表单,并且从SQL Server插入表以访问表后,数据没有更新

我有带有某些对象(表,表格,子表格)的MS Access应用程序。我的子表单记录来源是其中的一张桌子,当我打开表单时,包含显示的子表单数据。

我连接到SQL Server,并从dbo.telefone中获取一些数据,并在发生诸如单击按钮之类的事件后插入到我的表(GetTelServer)中,但是即使刷新或重新查询表单或子表单,新数据也不会以子表单更新。形成。我真的很困惑为什么会发生这种情况?

Dim strSQL1 As String
Dim rst1, RstAccess As ADODB.Recordset
              strSQL1 = "SELECT * from dbo.telefone"
             Set rst1 = New ADODB.Recordset
                     With rst1
                        .CursorLocation = adUseClient
                        .CursorType = adOpenKeyset
                        .LockType = adLockOptimistic
                        .Open strSQL1, cn, adCmdText
                      End With
                Set RstAccess = New ADODB.Recordset
                RstAccess.Open "SELECT * from GetTelServer", cnAccess, adOpenKeyset, adLockOptimistic
                Do Until rst1.EOF
                        RstAccess.AddNew
                        RstAccess.Fields("Name").Value =         rst1.Fields("Name").Value
                        RstAccess.Fields("job").Value = rst1.Fields("job").Value
                        RstAccess.Update
                        rst1.MoveNext
                 Loop

      Me.Query_subform.Requery
      Me.Refresh
        RstAccess.Close
        Set RstAccess = Nothing
        cnAccess.Close
        Set cnAccess = Nothing
        Me.Query_subform.Form.RecordSource = "SELECT * from GetTelServer"
       'even 
        set Query_subform.Form.recordset= RstAccess 

我不知道为什么数据没有出现在我的子表单中。当然,如果重新打开表单,一切都很好,但是我不想重新打开表单。我希望子表格数据在插入表后立即更新

sql-server ms-access recordset subform
1个回答
0
投票

我相信,在将记录源分配给子窗体之后,需要从源数据刷新。您的最后一行看起来无效(如果有效,语法验证后记录集将带有大写字母),请注释掉它。

请添加新的最后一行:

 Me.Query_subform.Refresh 

甚至是Me.Refresh都可以做到...然后重新测试。

© www.soinside.com 2019 - 2024. All rights reserved.