Página 1 de 1

Criar um Recordset no excel

Enviado: 11 Mar 2022 às 18:31
por Alexan
Galera, é o seguinte!
Tenho o seguinte código que cria um recordset de uma planilha do Excel:
Sub Busca_eventos()
Dim Db As Database
Dim Ds As Recordset
Set Db = OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name, False, False, "Excel 8.0")
Set Ds = Db.OpenRecordset("Select * From [Planilha1$]")
Do Until Ds.EOF
MsgBox Ds![NomedoCampo]
Ds.MoveNext
Loop
End Sub
Porém, está dando erro, nesta linha:
Set Ds = Db.OpenRecordset("Select * From [Planilha1$]")
Quando executo do jeito que está, diz que não existe o objeto Planilha1, se eu tira os colchetes, conforme abaixo:
Set Ds = Db.OpenRecordset("Select * From Planilha1$")
Da erro na cláusula FROM
Sendo que a planilha existe com este nome mesmo.
Alguém pode me ajudar?

Re: Criar um Recordset no excel

Enviado: 11 Mar 2022 às 19:02
por PHSabater
Quando trata a própria planilha como base pra consulta sql o padrão é esse mesmo.

SELECT * FROM ["Planilha1$"]

A query está correta, verifique se não houve alteração no nome da planilha (se consulta for pelo nome externo). Aconselho usar o nome interno onde qualquer alteração externa de nome acarreta em erro.

Qualquer coisa deixa anexo a planilha pra conseguir te ajudar.

Re: Criar um Recordset no excel

Enviado: 11 Mar 2022 às 21:39
por Alexan
Galera, consegui!
É simples: era só salvar o Excel em xlsm :lol: