MARCADOR INVALIDO

USUARIO.EXCLUIDOS 27/08/2007 11:21:54
#232815
Ao executar uma SQL, aprece o seguinte erro
Run-Time error 2147467259 - Marcador Inválido

segue o trecho do programa que ocorre:

 
Dim ConexaoFatura As New ADODB.Connection
Dim RsCompras As ADODB.Recordset
Dim mFiltroFor As String

mFiltroFor = "(NOTASENTRADAS.NOT_ENTRADA >= #08/01/2007# And NOTASENTRADAS.NOT_ENTRADA <= #08/31/2007#) And Pagamentos.Pag_tipo = 'C' And Pagamentos.PAG_STATUS <> 'C'"
ConexaoFatura.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\A\Fatura.Mdb"
Set RsCompras = New ADODB.Recordset
RsCompras.Open "SELECT NOTASENTRADAS.*, Pagamentos.* " & _
"FROM NOTASENTRADAS INNER JOIN Pagamentos " & _
"ON (NOTASENTRADAS.NOT_FORNECEDOR = Pagamentos.Pag_Fornecedor) AND " & _
"(NOTASENTRADAS.NOT_NOTA = Pagamentos.Pag_Nota_Fiscal) AND " & _
"(NOTASENTRADAS.NOT_FILIAL = Pagamentos.Pag_Filial) " & _
"WHERE " & mFiltroFor, ConexaoFatura, adOpenStatic, adLockOptimistic



Já conferi cada tabela e o campo de cada uma e está batendo perfeitamente com as características, e o banco está abrindo perfeitamente.


SILVERDRAGON 27/08/2007 11:41:44
#232824
Tenta isso:

Dim ConexaoFatura As New ADODB.Connection
Dim RsCompras As ADODB.Recordset
Dim mFiltroFor As String

mFiltroFor = "(NOTASENTRADAS.NOT_ENTRADA >= #08/01/2007# And NOTASENTRADAS.NOT_ENTRADA <= #08/31/2007#) And Pagamentos.Pag_tipo = 'C' And Pagamentos.PAG_STATUS <> 'C'"
ConexaoFatura.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\A\Fatura.Mdb"
Set RsCompras = New ADODB.Recordset
Rs.Movefirst '''''''''''''''''''''''''''''Coloca ISSO
RsCompras.Open "SELECT NOTASENTRADAS.*, Pagamentos.* " & _
"FROM NOTASENTRADAS INNER JOIN Pagamentos " & _
"ON (NOTASENTRADAS.NOT_FORNECEDOR = Pagamentos.Pag_Fornecedor) AND " & _
"(NOTASENTRADAS.NOT_NOTA = Pagamentos.Pag_Nota_Fiscal) AND " & _
"(NOTASENTRADAS.NOT_FILIAL = Pagamentos.Pag_Filial) " & _
"WHERE " & mFiltroFor, ConexaoFatura, adOpenStatic, adLockOptimistic


flw T +

USUARIO.EXCLUIDOS 27/08/2007 12:20:10
#232831
O Problema não estava no código, depois de muito ralar, descobri que o banco de dados estava corrompido em um unico registro ([S53]), recopiei o banco do original e tudo funcionou perfeitamente.
---
Silverdragon, colocar um "MoveFirst" antes de abrir provocaria um erro de "run-time", também não seria a solução, mas muito obrigado por tentar, pois assim aprendemos e ensinamos.

Mais uma vez obrigado

Carlos
SILVERDRAGON 27/08/2007 12:21:58
#232832
kkkkk eu ia falar pra ti que seu banco estava corrompido.. :) .... + nao tinha certeza.. ate pq falar isso é coisa seria...

flw T+ sorte pra ti
Tópico encerrado , respostas não são mais permitidas