Предложение 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