

如何: 更新访问权限 (Jet) 数据库中的 40 多个字段
概要
更多信息
- 对于新的应用程序,可使用 Access 数据库时使用 DAO。DAO 专为此目的,并不会发出 SQL 查询来执行更新。请注意 RDO 和尤其是 ADO 旨在有效地运用许多其他类型的数据库,对于应用程序,将与不同的服务器进行交互或的将是升迁将来例如使用 Microsoft SQL Server,都建议使用。
- 在打开的记录集更新的情况 (如 RDO OpenResultset 或 ADO OpenRecordset 方法) 时,选择特定的和 40 个或更少的字段。
-
使用服务器端游标:
-
若要执行此操作在 ADO 中,adUseServer 为在打开记录集之前设置记录集对象的 CursorLocation 位置属性:
... Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseServer rs.Open ... ...
-
在 RDO,在调用 OpenConnection() 方法之前设置 rdoEnvironment 对象的 CursorDriver 属性:
... Dim eng As RDO.rdoEngine Dim cn As RDO.rdoConnection Dim env As RDO.rdoEnvironment Dim rs As RDO.rdoResultset Set eng = New rdoEngine Set env = eng.rdoCreateEnvironment(...) env.CursorDriver = rdUseServer Set cn = env.OpenConnection(...) Set rs = cn.OpenResultset(...) ...
-
若要执行此操作在 ADO 中,adUseServer 为在打开记录集之前设置记录集对象的 CursorLocation 位置属性:
-
确保一个独一无二的密钥用于标识要更新,而不是使用每个字段的默认行为的记录。一个唯一密钥 (尽管不一定是为主键) 必须在为此项工作的技术是基础记录集定义。
-
若要执行此操作在 ADO 中 (这不会在 ADO 2.0 之前的版本中),请记录集对象的"更新条件"属性设置为 adCriteriaKey 上。这起两者的 update () 和 UpdateBatch() 方法:
... Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Properties("Update Criteria").Value = adCriteriaKey rs.Open ... ...
-
Rdo,使用 ClientBatch 游标库,并确保不要将结果集对象的 UpdateCriteria 属性设置为 rdCriteriaAllCols。默认情况下,此属性设置为 rdCriteriaKey,这将导致使用来确定要在服务器上更新的行的主键值:
... Dim eng As RDO.rdoEngine Dim cn As RDO.rdoConnection Dim env As RDO.rdoEnvironment Dim rs As RDO.rdoResultset Set eng = New rdoEngine Set env = eng.rdoCreateEnvironment(...) env.CursorDriver = rdUseClientBatch Set cn = env.OpenConnection(...) Set rs = cn.OpenResultset(...) rs.Edit ... rs.UpdateCriteria = rdCriteriaKey rs.Update ...
-
若要执行此操作在 ADO 中 (这不会在 ADO 2.0 之前的版本中),请记录集对象的"更新条件"属性设置为 adCriteriaKey 上。这起两者的 update () 和 UpdateBatch() 方法: