2016-05-17 64 views
1

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

我还没有得到清楚的答案,哪一个使用。到目前为止,我已经能够做的是设置记录源存储过程是这样

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

@HansUp 是的。 –

回答

1

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

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

可以正常工作。

但是,我会做一个评论是 - 为什么.adp? MS Access 2013 &稍后将不会运行adp,并且Access 2010有可能在未来几年内不受支持。