Classe Parameter - un seul paramètre utilisé dans une requête Paramètre (Excel VBA)

Cet objet représente un seul paramètre utilisé dans une requête Paramètre.

Pour utiliser une variable de classe Parameter, elle doit d'abord être instanciée, par exemple

Dim prm as Parameter
Set prm = ActiveCell.QueryTable.Parameters(Index:=1)

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe Parameter : Parameters.Add et Parameters.Item.

For Each

Voici un exemple de traitement des éléments Parameter dans une collection

Dim prm As Parameter
For Each prm In ActiveCell.QueryTable.Parameters
	
Next prm

DataType

Cette propriété renvoie ou définit une valeur XlParameterDataType qui représente le type de données du paramètre de requête spécifié. Ici on trouve valeurs possible pour XlParameterDataType.

ActiveCell.QueryTable.Parameters(1).DataType = xlParamTypeBigInt

Name

Cette propriété renvoie ou définit une valeur de type String qui représente le nom de l'objet.

ActiveCell.QueryTable.Parameters(1).Name =

PromptString

Cette propriété renvoie l'expression qui invite l'utilisateur à entrer une valeur de paramètre dans une requête paramètre. Type de données String en lecture seule.

Dim strPromptString As String
strPromptString = ActiveCell.QueryTable.Parameters(1).PromptString

RefreshOnChange

True si la table de requête spécifiée est actualisée chaque fois que vous modifiez la valeur de paramètre d’une requête paramètre. Boolean (en lecture/écriture).

Vous ne pouvez définir cette propriété sur True que si vous utilisez des paramètres du type xlRange et si la valeur du paramètre référencé se situe dans une seule cellule. L'actualisation a lieu lorsque vous modifiez la valeur de la cellule.

ActiveCell.QueryTable.Parameters(1).RefreshOnChange = True

SetParam

Cette méthode définit un paramètre pour la table de requêtes spécifiée.

SetParam (Type, Value)

Set qt = Sheets("sheet1").QueryTables(1) 
qt.Sql = "SELECT * FROM authors WHERE (city=?)" 
Set param1 = qt.Parameters.Add("City Parameter", _ 
 xlParamTypeVarChar) 
param1.SetParam xlConstant, "Oakland" 
qt.Refresh

Arguments

Les arguments nommés :

Type (XlParameterType) - Une des constantes de XlParameterType, qui spécifie le type de paramètre.

Les valeurs de retour possibles sont xlConstant - Utilise la valeur spécifiée par l'argument Value, xlPrompt - Affiche une boîte de dialogue qui demande à l'utilisateur de fournir la valeur, xlRange - Utilise la valeur de la cellule dans le coin supérieur gauche de la plage.

Value (Variant) - Valeur du paramètre spécifié, comme indiquée dans la description de l'argument Type.

SourceRange

Renvoie un objet Range qui représente la cellule contenant la valeur du paramètre de requête spécifié. En lecture seule.

Set qt = Sheets("sheet1").QueryTables(1) 
Set param1 = qt.Parameters(1) 
Set r = param1.SourceRange 
r.Value = "New York" 
qt.Refresh

Type

Renvoie une valeur XlParameterType qui représente le type de paramètre. Les valeurs de retour possibles sont xlConstant - Utilise la valeur spécifiée par l'argument Value, xlPrompt - Affiche une boîte de dialogue qui demande à l'utilisateur de fournir la valeur, xlRange - Utilise la valeur de la cellule dans le coin supérieur gauche de la plage.

Dim xptType As XlParameterType
xptType = ActiveCell.QueryTable.Parameters(1).Type

Value

Cette propriété renvoie une valeur Variant qui représente la valeur du paramètre.

Pour plus d'informations, voir l'objet Parameter.

Dim varValue As Variant
varValue = ActiveCell.QueryTable.Parameters(1).Value