1

我正在创建一个使用 Access ADP(Access Data Project)的应用程序。作为前端,SQL Server 作为后端。我正在使用 ADODB 进行连接。我一直在研究是否将 RecordSource 属性或 Recordset 属性用于表单。我的目标是创建一个未绑定的应用程序。

我一直无法明确回答该使用哪一个。到目前为止,我所能做的就是将记录源设置为这样的存储过程

 strSQL = "exec STOREDPROCEDURE "
 Me.Form.RecordSource = strSQL

我也可以打开与记录集相同的 SQL str,设置表单记录集,然后像这样关闭记录集

Dim Cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

   Set rs = New ADODB.Recordset

   strSQL = "exec STOREDPROCEDURE"

   rs.Open strSQL, CurrentProject.Connection

Set Me.Recordset = rs
rs.Close

有人可以向我解释 2 之间有什么区别,哪种方法是首选方法?在我看来,数据在传递回应用程序之前在 SQL Server 上进行过滤,所以我看不出使用 Recordset 或 Recordsource 之间的区别。

4

1 回答 1

1

使用 .adp,您将使用记录源,而不是记录集,但您可能还需要设置输入参数属性,具体取决于您正在运行的访问版本。

Me.RecordSource = "EXEC schema.storedprocedue [arguments]"

将适用于表格。

然而,我要发表的一条评论是 - 为什么是 .adp?MS Access 2013 及更高版本将不会运行 adp,而且 Access 2010 很可能在未来几年内变得不受支持。

于 2016-05-18T00:30:28.297 回答