2016-05-17 2 views
1

Я создаю приложение, которое использует Access ADP (Access Data Project). как интерфейс и SQL Server в качестве задней части. Я использую ADODB для подключения. Я делал некоторые исследования относительно того, использовать ли свойство RecordSource или Recordset для форм. Моя цель - создать несвязанное приложение.Recordsource vs Recordset for Unbound Forms

Я не смог получить ясный ответ, по которому можно использовать. До сих пор, что я был в состоянии сделать, это установить RecordSource хранимой процедуры, как этот

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

Я также могу открыть тот же SQL ул как набор записей, установить формы записей затем закрыть записей, как это

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, вероятно, станет неподдерживаться через пару лет.