Clase Parameter - un solo parámetro empleado en una consulta de parámetros (Excel VBA)
La clase Parameter representa un solo parámetro empleado en una consulta de parámetros. Para usar una variable de clase Parameter, primero debe ser instanciado, por ejemplo
Dim prm as Parameter
Set prm = ActiveCell.QueryTable.Parameters(Index:=1)
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos Parameter en una colección.
Dim prm As Parameter
For Each prm In ActiveCell.QueryTable.Parameters
Next prm
DataType
Devuelve o establece un valor XlParameterDataType que representa el tipo de datos del parámetro de consulta especificado. Aquí puede ver valores posibles para
ActiveCell.QueryTable.Parameters(1).DataType = xlParamTypeBigInt
Name
Devuelve o establece un valor de tipo String que representa el nombre del objeto.
ActiveCell.QueryTable.Parameters(1).Name =
PromptString
Devuelve la frase que solicita al usuario el valor de un parámetro en una consulta de parámetros.
Dim strPromptString As String
strPromptString = ActiveCell.QueryTable.Parameters(1).PromptString
RefreshOnChange
Es True si la tabla de consulta especificada se actualiza cada vez que se cambia el valor del parámetro de una consulta de parámetros.
Esta propiedad se puede establecer en True sólo si utiliza parámetros de tipo xlRange y si el valor del parámetro al que se hace referencia se encuentra en una sola celda.
ActiveCell.QueryTable.Parameters(1).RefreshOnChange = True
SetParam
Define un parámetro para la tabla de consulta especificada.
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
Estos son los argumentos con nombre :
Type (XlParameterType) - Una de las constantes de XlParameterType, que especifica el tipo de parámetro.
Posibles valores de retorno son xlConstant - Utiliza el valor especificado por el argumento Value, xlPrompt - Muestra un cuadro de diálogo que solicita el valor al usuario, xlRange - Utiliza el valor de la celda de la esquina superior izquierda del rango.
Value (Variant) - Valor del parámetro especificado, según se muestra en la descripción del argumento Type.
SourceRange
Devuelve un objeto Range que representa la celda que contiene el valor del parámetro de consulta especificado.
Set qt = Sheets("sheet1").QueryTables(1)
Set param1 = qt.Parameters(1)
Set r = param1.SourceRange
r.Value = "New York"
qt.Refresh
Type
Devuelve un valor XlParameterType que representa el tipo de parámetro. Posibles valores de retorno son xlConstant - Utiliza el valor especificado por el argumento Value, xlPrompt - Muestra un cuadro de diálogo que solicita el valor al usuario, xlRange - Utiliza el valor de la celda de la esquina superior izquierda del rango.
Dim xptType As XlParameterType
xptType = ActiveCell.QueryTable.Parameters(1).Type
Value
Devuelve un valor de tipo Variant que representa el valor del parámetro.
Para obtener más información, vea el objeto Parameter.
Dim varValue As Variant
varValue = ActiveCell.QueryTable.Parameters(1).Value