【问题标题】:Save record changes - Access ado form保存记录更改 - 访问 ado 表单
【发布时间】:2014-11-08 02:41:08
【问题描述】:

请帮忙!

我创建了一个用于记录服务调用的数据库,基于 Microsoft 的一个模板(现在非常松散!)

我有一个“案例详细信息”表单,它是从案例列表拆分表单打开的。最初,这是使用过滤器打开表单 - 我认为这意味着它实际上正在加载整个记录集?

由于我假设(希望是正确的)随着数据库的增长这将非常低效,我决定使用 SQL 语句将表单更改为打开和 ADO 记录集,只选择我想要的记录。

代码如下,表单打开时记录正确,我可以更新字段。

Private Sub Form_Load()
On Error GoTo Form_Load_Err

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

If (IsNull(TempVars!currentid)) Then

Me.DataEntry = True

Else
      'Use the ADO connection that Access uses
  Set cn = CurrentProject.Connection
  'Create an instance of the ADO Recordset class,
  'and set its properties
  Set rs = New ADODB.Recordset
  With rs
     Set .ActiveConnection = cn
     .Source = "SELECT * FROM Cases WHERE ID = " & TempVars!currentid & ";"
     .LockType = adLockOptimistic
     .CursorLocation = adUseClient
     .CursorType = adOpenStatic
     .Open
  End With
  'Set the form's Recordset property to the ADO recordset
  Set Me.Recordset = rs
  Set rs = Nothing
  Set cn = Nothing

End If

 Call IntializeCollections


Select Case (Me.Status)
   Case 7, 8
     Call EnableControls(mcolgrpAllFields, False)
End Select


Form_Load_Exit:
    Exit Sub

Form_Load_Err:
    MsgBox Error$
    Resume Form_Load_Exit

End Sub

但是,问题就在这里。我该怎么做才能保存我的更改?我做了一些谷歌搜索,查看了MS Access Form Bound to ADO Disconnected Recordset,但我仍然非常困惑。

是否有简单的“保存更新”命令?还是我必须遍历每个字段,检查更改,然后保存这些更改?

有人可以指点我正确的方向吗?

提前致谢

【问题讨论】:

  • 我想这太简单了,我应该可以在网上找到它?没有人能指出我正确的方向吗?

标签: ms-access ado recordset


【解决方案1】:

如果您需要一次更新一条记录,请尝试以下针对断开记录集的解决方案:http://www.techrepublic.com/blog/how-do-i/how-do-i-pass-data-over-a-network-using-disconnected-recordsets/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多