Cláusula PROCEDURE (SQL do Microsoft Access)
Aplica-se ao: Access 2013, Office 2013
Define um nome e os parâmetros opcionais para uma consulta.
Observação
[!OBSERVAçãO] A cláusula PROCEDURE foi substituída pela instrução PROCEDURE. Embora a cláusula PROCEDURE ainda seja aceita, a instrução PROCEDURE fornece um superconjunto de recursos da cláusula PROCEDURE e é a sintaxe recomendada.
Sintaxe
PROCEDURE name [param1 datatype[, param2 datatype[, …]]
A cláusula PROCEDURE contém estas partes:
Sair | Descrição |
---|---|
name | Um nome para o procedimento. Ele deve seguir as convenções de nomenclatura padrão. |
param1, param2 | Um ou mais campos ou parâmetros de campo. Por exemplo:PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime; Para obter mais informações sobre parâmetros, consulte parâmetros. |
datatype | Um dos principais tipos de dados do Microsoft Access SQL ou seus sinônimos. |
Comentários
Um procedimento SQL consiste em uma cláusula PROCEDURE (que especifica o nome do procedimento), uma lista opcional das definições de parâmetro e uma única instrução SQL. Por exemplo, o procedimento Get_Part_Number pode executar uma consulta que recupere um número de peça especificado.
Observação
Exemplo
Este exemplo chama a consulta CategoryList e o procedimento EnumFields, o que pode ser localizado no exemplo da instrução 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