Partager via


PROCEDURE, clause (Microsoft Access SQL)

S’applique à : Access 2013, Office 2013

Définit un nom et des paramètres facultatifs pour une requête.

Remarque

[!REMARQUE] La clause PROCEDURE a été remplacée par l'instruction PROCEDURE. Bien que la clause PROCEDURE demeure prise en charge, l'instruction PROCEDURE étend les possibilités de la clause PROCEDURE et constitue la syntaxe recommandée.

Syntaxe

PROCEDURE nom [param1 typedonnées[, param2 typedonnées[, …]]

La clause PROCEDURE est composée des arguments suivants :

Élément Description
name Nom de la procédure. Ce nom doit respecter les conventions d'affectation des noms standard.
param1, param2 Un ou plusieurs noms de champ ou paramètres. Par exemple :

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

Pour plus d’informations sur les paramètres, consultez paramètres.
datatype Un des principaux types de données Microsoft Access SQL ou un de leurs synonymes.

Notes

Une procédure SQL se compose d'une clause PROCEDURE (qui spécifie le nom de la procédure), d'une liste facultative de définitions de paramètres et d'une seule instruction SQL. Par exemple, la procédure Get_Part_Number exécute une requête dont l'objet est d'extraire un numéro de pièce déterminé

Remarque

  • Si la clause comporte plusieurs définitions de champ (à savoir, des paires param-typedonnées), séparez-les par des virgules.
  • La clause PROCEDURE doit être suivie d'une instruction SQL (par exemple une instruction SELECT ou UPDATE).

Exemple

Cet exemple nomme la requête CategoryList et appelle la procédure EnumFields, que vous pouvez trouver dans l'exemple d'instruction 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