Передача вхідних параметрів в MS Access

Передача параметрів в збережену процедуру

  • у властивості форми Вхідні параметри форми
    синтаксис:
    @ Ім’я_змінної SQL_тіп_переменной =

    Прим:
    У формах спосіб працює тільки якщо не вказані значення параметрів за замовчуванням
    SQL_тіп_переменной можна не вказувати

    @myvar int = GetMyVar()
    @myvar = GetMyVar()
    @ Myvar = Forms! МояФорма! КонтролФорми
    @ Mydate = fix (VBDATE) (під вх. Параметрах форми)
    @ Mydate = fix (VBDATE) -2 (окрім вх.параметров форми – при програмному формуванні рекордсета)


  • через пробіл після імені процедури і кожен параметр в порядку їх опису в процедурі – через кому:
    Dim rst As New ADODB.Recordset

    Rst.Open “exec Імя_ХранПр” “& Me.MyString &” “,” & Me.MYINT2 & “, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    в даному прикладі з полів форми дані передаються в процедуру, що відкривається рекордсетом. Так як Me.MyString при передачі має рядковий тип – додані одинарні лапки
    в простому вигляді рядок має вигляд
    rst.open “my_proc_name 1,2,3 ” , CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    примітка: ключове слово Exec в конкретному випадку вказувати необов’язково

  • створити команду Адо і додати до неї перед запуском параметр
    даний спосіб дозволяє не тільки передавати параметри, але і отримувати їх назад
    Dim cmd As New ADODB.Command
    cmd.ActiveConnection = CurrentProject.Connection
    cmd.CommandText = “sp_daystatus” “Ім’я збереженої процедури
    cmd.CommandType = adCmdStoredProc
    cmd.Parameters.Append cmd.CreateParameter(“@Paramdata”, adInteger, adParamInputOutput)
    cmd.Parameters(0) = clng(Mydata)-2
    cmd.Execute “Запускаємо
    MyReturnParam = cmd.Parameters (0) “Привласнюємо повертаний параметр змінної
    Set cmd = Nothing

    Прим. : Якщо в збереженій процедурі в кінці стоїть Return то повернути вона зможе тільки числовий параметр. Щоб вона повертала рядок – приберіть з неї Return

  • Схожі статті:


    Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

    Коментарів поки що немає.

    Ваш отзыв

    Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    *

    *