我正在创建一个使用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之间的区别。
使用.adp时,您将使用记录源,而不是记录集,尽管您可能需要根据运行的访问版本设置输入参数属性。
Me.RecordSource = "EXEC schema.storedprocedue [arguments]"
将适用于表单。
然而,我要做的一个评论是-为什么是.adp?MS Access 2013&稍后将不会运行adp,Access 2010可能在未来几年内变得不受支持。