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
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.
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