Notifications
Clear all

Passar parâmetro para access na consulta

3 Posts
1 Usuários
0 Reactions
829 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Gelera,
Estou usando a consulta abaixo para tentar executar uma consulta no acces passando um parâmetro.

Me retorna o erro:
Item não encontrado nessa coleção

Sub RunParameterQuery()
'Step 1: Declare your variables
Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset


Dim i As Integer


'Step 2: Identify the database and query
Set MyDatabase = DBEngine.OpenDatabase _
("C:meubanco.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("minhaConsulta")

MyQueryDef.Parameters("[ANO-MES]") = "2012" ERRO:( Item não encontrado nessa coleção )

'Step 4: Open the query
Set MyRecordset = MyQueryDef.OpenRecordset

'Step 5: Clear previous contents
'Sheets("plan1").Select
'ActiveSheet.Range("A6:K10000").ClearContents

'Step 6: Copy the recordset to Excel
ActiveSheet.Range("A7").CopyFromRecordset MyRecordset

'Step 7: Add column heading names to the spreadsheet
For i = 1 To MyRecordset.Fields.Count
ActiveSheet.Cells(6, i).Value = MyRecordset.Fields(i - 1).Name
Next i

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/08/2012 9:04 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

O que acontece é o seguinte:

Eu acho que o nome do campo na consulta chama ANO-MES, mas quando cria um parametro o nome do parametro não é o nome do campo.

O parametro está na linha Criterio da consulta digamos que você coloque assim no critério [?]

Seu código tem que ser assim
MyQueryDef.Parameters("[?]") = "2012"

Lembrando sempre de obedecer o tipo de dado da consulta.

Espero ter ajudado.

Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/08/2012 10:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Isso mesmo meu caro!

Tks!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/08/2012 10:47 am