nlsouza, se eu não me engano, as consultas access não funcionam com aspas simples ('), mas sim com aspas duplas ""
tente substiuí-las na cláusula HAVING
Não é access, é excel. O no access vba com com aspas simples.
E estranho que fiz um outro exemplo, e as variaveis crt1 ,crt12, são do tipo integer, mas da tipo incompativel, se eu fizer
BETWEEN " 1 AND 2 "
, passando o numero direto, não da o erro.
O saida com os valores guardados em crt1 e ctr2 é a seguinte:
SELECT SUM(Banco$.TExec) AS TExec,SUM(Banco$.TInter) AS TInter,SUM(Banco$.TDISP) AS TDISP,Banco$.dia FROM [Banco$] GROUP BY [Banco$.Dia] HAVING Banco$.dia BETWEEN 2 AND 3
, ou seja, o mesmo que passar o numero direto no sql. Que coisa estranha!!
strSql = "SELECT SUM(Banco$.TExec) AS TExec,SUM(Banco$.TInter) AS TInter,SUM(Banco$.TDISP) AS TDISP,Banco$.dia FROM " _
& " [Banco$] GROUP BY [Banco$.Dia] HAVING Banco$.dia BETWEEN " & crt1 & " AND " & crt2 & " "
Set Db2 = OpenDatabase(ThisWorkbook.Path & "" & ThisWorkbook.Name, False, False, "Excel 8.0")
Set RSt2 = Db2.OpenRecordset(strSql)
Postado : 08/03/2016 10:43 am