PROCEDURE-Klausel (Microsoft Access SQL)
Gilt für: Access 2013, Office 2013
Definiert einen Namen und optionale Parameter für eine Abfrage.
Hinweis
Die PROCEDURE-Klausel wurde durch die PROCEDURE-Anweisung abgelöst. Zwar wird die PROCEDURE-Klausel noch unterstützt, doch die PROCEDURE-Anweisung stellt eine Übermenge der Funktionen der PROCEDURE-Klausel bereit und wird als Syntax empfohlen.
Syntax
PROCEDURE Name [Param1 Datentyp[, Param2 Datentyp[, …]]
Die PROCEDURE-Klausel enthält die folgenden Bestandteile:
Teil | Beschreibung |
---|---|
name | Der Name der Prozedur. Bei der Namensgebung müssen die Standardbenennungsregeln beachtet werden. |
Parameter1, Parameter2 | Ein oder mehrere Feldnamen oder Parameter. Zum Beispiel:PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime; Weitere Informationen zu Parametern finden Sie unter Parameter. |
Datentyp | Einer der wichtigsten Microsoft Access SQL-Datentypen oder eines der Synonyme. |
Hinweise
Eine SQL-Prozedur besteht aus einer PROCEDURE-Klausel (die den Namen der Prozedur angibt), einer optionalen Liste mit Parameterdefinitionen und einer einzelnen SQL-Anweisung. Beispielsweise könnte die Prozedur Get_Part_Number eine Abfrage ausführen, die eine bestimmte Artikelnummer abruft.
Hinweis
Beispiel
In diesem Beispiel wird die CategoryList-Abfrage benannt und die EnumFields-Prozedur aufgerufen, die im Beispiel für die SELECT-Anweisung enthalten ist.
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