Поделиться через


Предложение PROCEDURE (Microsoft Access SQL)

Область применения: Access 2013, Office 2013

Определяет имя и необязательные параметры для запроса.

Примечание.

Предложение PROCEDURE заменено инструкцией PROCEDURE. Хотя предложение PROCEDURE по-прежнему поддерживается, инструкция PROCEDURE предоставляет надмножество возможностей предложения PROCEDURE и является рекомендуемой синтаксис.

Синтаксис

ИМЯ ПРОЦЕДУРЫ [param1 datatype[, param2 datatype[, ...]]

Предложение PROCEDURE состоит из следующих частей:

Part Описание
name Название процедуры. Необходимо выполнение стандартных соглашений об именовании.
param1, param2 Одно или несколько имен полей или параметров. Например:

PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime;

Дополнительные сведения о параметрах см. в разделе Параметры.
datatype Один из основных типов данных Microsoft Access SQL или их синонимов.

Примечания

Процедура SQL состоит из предложения PROCEDURE (указывающего имя процедуры), необязательного списка определений параметров и одной инструкции SQL. Например, процедура Get_Part_Number может выполнять запрос, который получает указанный номер части.

Примечание.

  • Если предложение содержит несколько определений полей (то есть пар param-datatype ), разделите их запятыми.
  • За предложением PROCEDURE должна следовать инструкция SQL (например, инструкция SELECT или UPDATE ).

Пример

В этом примере присваивается имя запросу CategoryList и выполняется вызов процедуры EnumFields, которую вы можете найти в приведенном примере для оператора SELECT.

    Sub ProcedureX() 
     
        Dim dbs As Database, rst As Recordset 
        Dim qdf As QueryDef, strSql As String 
         
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
         
        strSql = "PROCEDURE CategoryList; " _ 
            & "SELECT DISTINCTROW CategoryName, " _ 
            & "CategoryID FROM Categories " _ 
            & "ORDER BY CategoryName;" 
         
        ' Create a named QueryDef based on the SQL 
        ' statement. 
        Set qdf = dbs.CreateQueryDef("NewQry", strSql) 
     
        ' Create a temporary snapshot-type Recordset. 
        Set rst = qdf.OpenRecordset(dbOpenSnapshot) 
     
        ' Populate the Recordset. 
        rst.MoveLast 
                 
        ' Call EnumFields to print the contents of the  
        ' Recordset. Pass the Recordset object and desired 
        ' field width. 
        EnumFields rst, 15 
         
        ' Delete the QueryDef because this is a 
        ' demonstration. 
        dbs.QueryDefs.Delete "NewQry" 
         
        dbs.Close 
     
    End Sub