保存记录更改 - 访问ado表单

时间:2014-03-02 22:00:08

标签: ms-access ado recordset

请帮忙!

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

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

正如我假设(希望正确),随着数据库的增长,这将是非常低效的,我决定使用SQL语句将表单更改为open和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,但我仍然感到非常难过。

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

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

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您需要一次更新一条记录,请尝试使用此解决方案来处理已断开连接的记录集:http://www.techrepublic.com/blog/how-do-i/how-do-i-pass-data-over-a-network-using-disconnected-recordsets/