|
Форма в access + MS SQL SP с параметрами
|
|||
---|---|---|---|
#18+
Имеею access97 и MS SQL. На скуле есть процедура с параметрами. Вопрос как в форме в качестве источника данных подставить енту процедуру, причем парамерами для процедуры служат поля формы. ( в хелпе почемуто не могу найти ничиго полезного ). Единственное что пришло в голову так это создать запрос (через CreateQueryDef("temp")) и только его продставить (Me.RecordSource = "temp"), и при семене пораметров каждый раз менять запрос и RecordSource. Подскажите кто с этим сталкивался(а то я сегодня что-то торможу) ЗЫ: Советы перейти на adp проекты можно не давать(над этим тоже работаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2002, 07:44 |
|
Форма в access + MS SQL SP с параметрами
|
|||
---|---|---|---|
#18+
Единственный способ это создание параметроризированного запроса к серверу. Но он возвращает необновляемый набор данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2002, 11:24 |
|
Форма в access + MS SQL SP с параметрами
|
|||
---|---|---|---|
#18+
2SysOp Извиняюсь не совсем понял что означает параметроризированного запроса к серверу, и что необновляемый набор данных. Если можно поясните или поправте меня если я не так понял. Вы предлагаете написать запрос к серверу где сразу указать значения параметров для процедуры. Тогда я буду получать всегда один и тотже набор для конкретных значений параметров (это и означает необнавляемый набор данных?). (Мне надо чтобы для процедуры на сервере Proc1 с параметрами @P1 и @P2 значения параметров брались из полей формы, причем при изменении значений полей должен изменяться набор данных, т.е. выборка при заданных значения. Собственно этого я добился вышеописанным способом, но может есть другие способы?) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2002, 12:00 |
|
Форма в access + MS SQL SP с параметрами
|
|||
---|---|---|---|
#18+
Private Sub cmdOst_Click() Dim dbsCurrent As Database Dim qdfPassThrough As DAO.QueryDef Dim qdfLocal As DAO.QueryDef Dim rs As DAO.Recordset Dim strMessage As String Dim d1 As Date, d2 As Date Dim ds1 As String, ds2 As String 'Set con = Application.CurrentProject.Connection d1 = Me.d1 d2 = Nz(Me.d2, 0) ds1 = Chr(39) & Format(d1, "yyyy") & "." & Format(d1, "mm") & "." & Format(d1, "dd") & Chr(39) ds2 = Chr(39) & Format(d2, "yyyy") & "." & Format(d2, "mm") & "." & Format(d2, "dd") & Chr(39) Set dbsCurrent = CurrentDb On Error Resume Next dbsCurrent.QueryDefs.Delete "sf" Set qdfPassThrough = _ dbsCurrent.CreateQueryDef("SF") qdfPassThrough.Connect = "ODBC;DATABASE=<BD>;UID=<User>;PWD=<Password>;DSN=<BD_DSN>" qdfPassThrough.SQL = "exec dbo._SP_Get_SF_Period " & ds1 & "," & ds2 qdfPassThrough.ReturnsRecords = True DoCmd.Hourglass True Set qdfLocal = dbsCurrent.CreateQueryDef("") qdfLocal.SQL = "SELECT * FROM SF" Set rs = qdfLocal.OpenRecordset() DoCmd.OpenForm "f_Sf_string", acFormDS Forms("f_Sf_string").RecordSource = "SELECT * FROM SF" DoCmd.Hourglass False End If End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2002, 09:37 |
|
|
start [/forum/topic.php?fid=45&fpage=1855&tid=1683604]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 114ms |
0 / 0 |