Если вы все еще хотите сохранить эту форму в виде обычной «связанной» формы доступа, тогда вы можете сделать что-то подобное.
Настройка прохода через запрос, который запускает ваш SP. Основной формат, который по линии этого
EXEC [dbo].[spAgents_with_more_than_X_days_sick_by_Team] @Date_from = N'2009-09-14', @Date_to = N'2010-09-14', @Team_ID = N'TEM1', @Days_sick =5
Вы бы тогда изменить это при открытии формы, как этот
Set qDef = DBEngine(0)(0).QueryDefs("RqryAgents_more_than_X_sicks_detail_2")
With qDef
.Connect = strSQL_con_string
.SQL = "EXEC [dbo].[spAgents_with_more_than_X_days_sick_by_Team]"
.SQL = .SQL & " @Date_from = N'" & Format(Me.txtDate_from, "yyyy-mm-dd") & "', "
.SQL = .SQL & "@Date_to = N'" & Format(Me.txtDate_to, "yyyy-mm-dd") & "', "
.SQL = .SQL & "@Team_ID = N'" & Me.txtTeam_ID & "', "
.SQL = .SQL & "@Days_sick =" & Me.txtDays_sick
End With
Это должно работать нормально, однако если бы это было мне (и я знаю, это не все предпочтения), но я бы сделал это несвязанной формой и заполнил его, выпустив свой SP с помощью ADO, чтобы заполнить набор записей и перейти оттуда.
Если вы хотите подробнее о том, как сделать это, то просто спросите, и я отправлю пример
EDIT: Пример кода добавлено
Dim cmd as new ADODB.Command
Dim dbCon as new ADODB.Connection
Dim rst as new ADODB.Recordset
dbCon.ConnectionString=”Your_Connection_string”
dbCon.open
With cmd
.ActiveConnection = dbCon
.CommandText = "spYour SP"
.CommandType = adCmdStoredProc
.NamedParameters = True
.Parameters.Append .CreateParameter("@Your_pram1", adVarChar, adParamInput, 20, Format(Me.txtDate, "yyyy-mm-dd"))
.Parameters.Append .CreateParameter("@Your_pram2", adSmallInt, adParamInput, 0, Me.cboPhone_skill)
End With
Set rst = cmd.Execute()
With rst
If .EOF=False then
Me.txtYour_text_box_1=!Your_SP_field_1
Me.txtYour_text_box_2=!Your_SP_field_3
Me.txtYour_text_box_3=!Your_SP_field_2
End if
End with
Rst.close
Dbcon.close
Set rst=nothing
Set cmd=nothing
Set dbcon = ничего
Несомненно, спасибо Кевину, не могли бы вы опубликовать данные, используя ADO. – Tony
Тони, я разместил код, который должен указать вам в правильном направлении. –
Спасибо, Кевин, это то, что я искал. Позвольте мне заняться и проверить его. – Tony