Classe Parameter - um único parâmetro usado em uma consulta parâmetro (Excel VBA)

A classe Parameter representa um único parâmetro usado em uma consulta parâmetro. Para usar uma variável de classe Parameter, ela primeiro precisa ser instanciada por exemplo


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

For Each

Aqui está um exemplo de processamento dos itens Parameter em uma coleção.


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

DataType

Retorna ou define um valor XlParameterDataType que representa o tipo de dados do parâmetro de consulta especificado. Aqui você pode encontrar os valores possíveis para XlParameterDataType.


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

Name

Retorna ou define um valor String que representa o nome do objeto.


ActiveCell.QueryTable.Parameters(1).Name =

PromptString

Retorna a frase solicitando ao usuário um valor de parâmetro em uma consulta parametrizada. String somente leitura.


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

RefreshOnChange

True se a tabela de consulta especificada for atualizada sempre que você alterar o valor de parâmetro de uma consulta parametrizada. Boolean de leitura/gravação.

Você só poderá definir essa propriedade como True se usar parâmetros do tipo xlRange e se o valor do parâmetro ao qual foi feita referência estiver em uma única célula. A atualização ocorre quando você altera o valor da célula.


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

SetParam

Define um parâmetro para a tabela de consulta especificada.

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

O seguinte argumento é opcional

Type (XlParameterType) - Uma das constantes de XlParameterType, que especifica o tipo de parâmetro.

Os valores de retorno possíveis são xlConstant - Usa o valor especificado pelo argumento Value, xlPrompt - Exibe uma caixa de diálogo que solicita o valor ao usuário. O argumento Valor especifica o texto mostrado na caixa de diálogo, xlRange - Usa o valor da célula do canto superior esquerdo do intervalo. O argumento Value especifica um objeto Range .

Value (Variant) - O valor do parâmetro especificado, como mostrado na descrição do argumento Type.

SourceRange

Retorna um objeto Range que representa a célula que contém o valor do parâmetro de consulta especificado. Somente leitura.


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

Type

Retorna um valor XlParameterType que representa o tipo de parâmetro. Os valores de retorno possíveis são xlConstant - Usa o valor especificado pelo argumento Value, xlPrompt - Exibe uma caixa de diálogo que solicita o valor ao usuário. O argumento Valor especifica o texto mostrado na caixa de diálogo, xlRange - Usa o valor da célula do canto superior esquerdo do intervalo. O argumento Value especifica um objeto Range .


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

Value

Retorna um valor que representa o valor do parâmetro.

Para obter mais informações, consulte o objeto Parameter.


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