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