【发布时间】: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,但我仍然非常困惑。
是否有简单的“保存更新”命令?还是我必须遍历每个字段,检查更改,然后保存这些更改?
有人可以指点我正确的方向吗?
提前致谢
【问题讨论】:
-
我想这太简单了,我应该可以在网上找到它?没有人能指出我正确的方向吗?