Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
Erstellt eine gespeicherte Prozedur.
Hinweis
Vom Microsoft Access-Datenbankmodul wird die Verwendung der CREATE PROCEDURE- oder anderer DDL-Anweisungen in Datenbanken, die nicht aus dem Microsoft Jet-Datenbankmodul stammen, nicht unterstützt.
Syntax
CREATE PROCEDURE-Prozedur [param1-Datentyp[, param2-Datentyp[, ...]] AS SQL-Anweisung
Die CREATE PROCEDURE-Anweisung besteht aus drei Komponenten:
Part | Beschreibung |
---|---|
Prozedur | Der Name der Prozedur. Bei der Namensgebung müssen die Standardbenennungsregeln beachtet werden. |
Parameter1, Parameter2 | 1 bis 255 Feldnamen oder Parameter. Beispiel:CREATE 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. |
SQL-Anweisung | Eine SQL-Anweisung wie SELECT, UPDATE, DELETE, INSERT, CREATE TABLE, DROP TABLE usw. |
Bemerkungen
Eine SQL-Prozedur besteht aus einer PROCEDURE-Klausel,die den Namen der Prozedur angibt, einer optionalen Liste von Parameterdefinitionen und einer einzelnen SQL-Anweisung.
Der Name der Prozedur darf nicht mit dem Namen einer vorhandenen Tabelle übereinstimmen.
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