Klasse Parameter - ein einzelne Parameter einer Parameterabfrage (Excel VBA)

Die Klasse Parameter stellt einen einzelnen Parameter einer Parameterabfrage dar. Um eine Parameter -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise


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

For Each

Hier ist ein Beispiel für die Verarbeitung der Parameter -Elemente in einer Sammlung


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

DataType

Gibt einen XlParameterDataType -Wert zurück, der den Datentyp des angegebenen Abfrageparameters darstellt, oder legt diesen fest. Dies sind mögliche Werte für XlParameterDataType.


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

Name

Gibt einen String-Wert zurück, der den Namen des Objekt darstellt, oder legt diesen Wert fest.


ActiveCell.QueryTable.Parameters(1).Name =

PromptString

Gibt die Zeichenfolge zurück, mit der der Benutzer bei einer Parameterabfrage zur Eingabe eines Parameterwerts aufgefordert wird.


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

RefreshOnChange

True, wenn die angegebene Abfrage bei jeder Änderung des Parameterwerts einer Parameterabfrage aktualisiert wird.

Sie können diese Eigenschaft nur dann auf True festlegen, wenn Sie Parameter vom Typ xlRange verwenden und der referenzierte Parameterwert sich in einer einzelnen Zelle befindet.


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

SetParam

Definiert einen Parameter für die angegebene Abfragetabelle.

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

Hier sind die benannte Argumente :

Type (XlParameterType) - Eine der Konstanten von XlParameterType, die den Parametertyp angibt.

Mögliche Rückgabewerte sind xlConstant - Verwendet den durch das Argument Value angegebenen Wert, xlPrompt - Es wird ein Dialogfeld angezeigt, das den Benutzer zur Eingabe des Werts auffordert, xlRange - Es wird der Wert der Zelle in der oberen linken Ecke des Bereichs verwendet.

Value (Variant) - Der Wert des angegebenen Parameters, wie in der Beschreibung des Arguments Type dargestellt.

SourceRange

Gibt ein Range -Objekt zurück, das die Zelle darstellt, die den Wert des angegebenen Abfrageparameters enthält.


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

Type

Gibt einen XlParameterType -Wert zurück, der den Parametertyp darstellt. Mögliche Rückgabewerte sind xlConstant - Verwendet den durch das Argument Value angegebenen Wert, xlPrompt - Es wird ein Dialogfeld angezeigt, das den Benutzer zur Eingabe des Werts auffordert, xlRange - Es wird der Wert der Zelle in der oberen linken Ecke des Bereichs verwendet.


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

Value

Gibt einen Variant-Wert zurück, der den Parameterwert darstellt.

Weitere Informationen finden Sie unter dem Parameter-Objekt.


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