Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micaiu

Run-Time Error

Recommended Posts

Instrução SQL invalida, DELETE,INSERT,PROCEDURE, SELECT ou UPDATE esperado.

 

Abaixo meu codigo:

 

Dim cnn As New ADODB.Connection

Dim rs1 As New ADODB.Recordset

Dim rs2 As New ADODB.Recordset

Dim rsconfig As New ADODB.Recordset

Dim rstemp As New ADODB.Recordset

Dim sql As String

Dim caminho As String

 

'Dim rstemp As Recordset

 

Private Sub Form_Load()

Dim vetor1 As Variant

Dim vetor2 As Variant

'Dim rstemp As Recordset

'Dim rs2 As Recordset

Dim msg As String

'Dim sql As String

'Dim rsconfig As Recordset

 

vetor1 = Array("Lanc.", "Data", "Transação", "Histórico", "Valor", "Saldo")

vetor2 = Array(600, 900, 900, 4400, 1100, 1200)

 

inicia_grid 3, 6, Grid1, vetor1, vetor2

 

caminho = App.Path & "\\BDpizza.mdb"

cnn.Provider = "Microsoft.Jet.OLEDB.4.0"

cnn.Open caminho

rs1.Open "tbltransa", cnn, adOpenStatic

rs2.Open "tblcontas", cnn, adOpenStatic

rsconfig.Open "empresa", cnn, adOpenStatic

rstemp.Open "sql", cnn, adOpenStatic <<<<<<<<<<<<<<<<<<<<<<<<<LINHA COM O ERRO.

 

'Set rs1 = db.OpenRecordset("tbltransa", dbOpenTable)

'rs1.Index = "Primarykey"

While Not rs1.EOF

Combo2.AddItem rs1("descricao")

Combo2.ItemData(Combo2.NewIndex) = rs1("codigo")

rs1.MoveNext

Wend

Combo2.ListIndex = -1

rs1.Close

 

'combo contas

'Set rs2 = db.OpenRecordset("tblcontas", dbOpenSnapshot)

While Not rs2.EOF

Combo1.AddItem rs2("conta")

rs2.MoveNext

Wend

Combo1.ListIndex = -1

rs2.Close

 

'Set rsconfig = db.OpenRecordset("empresa", dbOpenSnapshot)

 

sql = "SELECT codlancamento, data, transacao, historico, valor, saldo FROM tblfincli"

 

'---verifica data inicial/final e define período-----

If Maskini(0) <> " / / " And Maskfim(1) <> " / / " Then

If Not IsDate(Maskini(0)) Then

msg = "Data inicial invalida"

Maskini(0).SetFocus

MsgBox msg, vbExclamation

Exit Sub

ElseIf Not IsDate(Maskfim(1)) Then

msg = "Data final inválida "

Maskfim(1).SetFocus

MsgBox msg, vbExclamation

Exit Sub

End If

sql = sql & " WHERE data >= " & "#" & Format((Maskini(0)), "mm/dd/yyyy") & "#"

sql = sql & " AND data <= " & "#" & Format((Maskfim(1)), "mm/dd/yyyy") & "#"

Else

sql = sql & " WHERE data >= " & "#" & Format(Now - 30, "mm/dd/yyyy") & "#"

End If

 

'---------define a conta para consulta--

If Combo1.ListIndex <> -1 Then

sql = sql & " AND conta=" & "'" & Combo1.Text & "'"

End If

 

'---------define tipo da transacao para consulta--

If Combo2.ListIndex <> -1 Then

sql = sql & " AND transacao=" & Combo2.ItemData(Combo2.ListIndex)

End If

 

'-------------ordena por data

sql = sql & " ORDER BY data"

 

'Call atualiza_grid(sql)

 

'--------abre arquivo

'Set rstemp = db.OpenRecordset(sql, dbOpenDynaset)<<<<<<<<<<<<ESTA É A LINHA QUE EU ALTEREI, QUANDO APARECEU O ERRO.

Call enche_grid(rstemp)

 

End Sub

 

 

Alguem sabe o que há??????

Abrassss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Micaiu.

 

Quando você passa uma variável entre aspas ("sql") ela deixa de ser uma variável para ser uma string com o valor sql.

 

Você precisa somente retirar as aspas.

 

Do jeito que está, o programa está tentando executar a seguinte query:

sql -->> e isso não é uma consulta válida. Por isso o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.