ERRO TIPO DE DADOS INCOMPATIVEIS

ARES 26/02/2010 10:17:38
#335442
bom dia,

desenvolvi um programa com base MYSQL e funciona perfeitamente, foi necessário tranferir a base de dados para access para atender um cliente e agora não estou conseguindo descobrir aonde esta o erro.

TIPO DE DADOS INCONPATÍVEIS NA EXPRESSÃO DE CRÍTERIO.

SEGUE O CÓDIGO:

Private Sub imprimir()
Dim Linhas As Integer
Dim rsselecao As New ADODB.Recordset
Dim rsselecao2 As New ADODB.Recordset
Dim rsselecao3 As New ADODB.Recordset
Dim rsselecao4 As New ADODB.Recordset
Dim passivocirculante As New ADODB.Recordset
Dim soma_Despesa1 As New ADODB.Recordset
Dim rsselecao5 As New ADODB.Recordset
Dim soma_Receita As New ADODB.Recordset
Dim PaginaInicial As Integer, Paginafinal As Integer, numerodecopias As Integer, i As Integer
Dim linha As Integer


[ô]On Error GoTo errimprimir


Mycon.ConnectionString = [Ô]provider=microsoft.jet.oledb.4.0;[Ô] & [Ô] data source=[Ô] & App.Path & [Ô]\dbase\sos.mdb[Ô]
Mycon.Open



With mycmd
Set .ActiveConnection = Mycon
.CommandType = adCmdText

[ô]CONTAS DEVEDORAS
.CommandText = [Ô]select tblplanoconta1.conta_credora, tblplanoconta.descricao,tblplanoconta1.vvalor_Credor, sum(tblplanoconta1.vvalor_credor) as devedor, tblplanoconta1.situacao from tblplanoconta INNER JOIN tblplanoconta1 on tblplanoconta1.conta_credora = tblplanoconta.numeroconta where tblplanoconta1.vvalor_credor <>0 and tblplanoconta1.situacao = 1 group by tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor [Ô]
Set rsselecao2 = .Execute
[ô]CONTAS CREDORAS
.CommandText = [Ô]select tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.vvalor_Credor,sum(tblplanoconta1.vvalor_credor) as credor, tblplanoconta1.situacao from tblplanoconta inner join tblplanoconta1 on tblplanoconta1.conta_credora = tblplanoconta.numeroconta where tblplanoconta1.vvalor_credor <>0 and tblplanoconta1.situacao = 2 group by tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor [Ô]
Set rsselecao3 = .Execute
[ô]contas devedora
.CommandText = [Ô]select tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.vvalor_Credor,sum(tblplanoconta1.vvalor_credor) as conta_devedora, tblplanoconta1.situacao from tblplanoconta inner join tblplanoconta1 on tblplanoconta1.conta_credora = tblplanoconta.numeroconta where tblplanoconta1.vvalor_credor <>0 and tblplanoconta1.situacao = 5 group by tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor [Ô]
Set rsselecao4 = .Execute
[ô]contas de receitas
.CommandText = [Ô]select tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.vvalor_Credor,sum(tblplanoconta1.vvalor_credor) as conta_receita, tblplanoconta1.situacao from tblplanoconta inner join tblplanoconta1 on tblplanoconta1.conta_credora = tblplanoconta.numeroconta where tblplanoconta1.vvalor_credor <>0 and tblplanoconta1.situacao = 6 group by tblplanoconta1.conta_credora, tblplanoconta.descricao, tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor [Ô]
Set rsselecao5 = .Execute
[ô]SALDO NO ATIVO
.CommandText = [Ô]select sum(tblplanoconta1.vvalor_credor) as circulante_devedor, tblplanoconta1.vvalor_Credor,tblplanoconta1.situacao from tblplanoconta1 where tblplanoconta1.situacao = 1 group by tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor [Ô]
Set rsselecao = .Execute
[ô]saldo passivo circulante
.CommandText = [Ô]select sum(tblplanoconta1.vvalor_credor) as circulante_credor, tblplanoconta1.vvalor_Credor,tblplanoconta1.situacao from tblplanoconta1 where tblplanoconta1.situacao = 2 group by tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor[Ô]
Set passivocirculante = .Execute
[ô]saldo despesas
.CommandText = [Ô]select tblplanoconta1.vvalor_Credor,sum(tblplanoconta1.vvalor_credor) as Soma_despesas, tblplanoconta1.situacao from tblplanoconta1 where tblplanoconta1.situacao = 5 group by tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor[Ô]
Set soma_Despesa1 = .Execute

[ô]saldo receitas
.CommandText = [Ô]select tblplanoconta1.vvalor_Credor,sum(tblplanoconta1.vvalor_credor) as Soma_receita1, tblplanoconta1.situacao from tblplanoconta1 where tblplanoconta1.situacao = 6 group by tblplanoconta1.situacao,tblplanoconta1.vvalor_Credor[Ô]
Set soma_Receita = .Execute


End With

[ô]passa as informações do recordset para o objeto printer.print
linha = 1
Printer.CurrentY = 180
Printer.Print Tab(5); Format(Now, [Ô]h:mm am/pm[Ô]); Tab(80); Format(Now, [Ô]dd/mm/yyyy[Ô]); Tab(115); [Ô]pág.[Ô]; contapagina + 1
Printer.Print ; [Ô][Ô]
Printer.Font = [Ô]courier new[Ô]
Printer.FontBold = False
Printer.FontSize = [Ô]8[Ô]
Printer.Print ; [Ô][Ô]
Printer.Print ; [Ô][Ô]
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]ATIVO[Ô]; Tab(80); Format(rsselecao!circulante_devedor, [Ô]###,##0.00[Ô])
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
[ô]Do While Not rsselecao.EOF
[ô]linha = linha + 1

[ô]rsselecao.MoveNext
[ô]Loop
Printer.Print Tab(3); [Ô][Ô]


Do While Not rsselecao2.EOF
linha = linha + 1
Printer.Print Tab(5); rsselecao2!conta_credora; Tab(17); rsselecao2!Descricao; Tab(75); [Ô]:[Ô]; Tab(80); Format(rsselecao2!devedor, [Ô]###,##0.00[Ô])
rsselecao2.MoveNext
Loop

[ô]passa as informações do recordset para o objeto printer.print
linha = 1
Printer.Print [Ô][Ô]
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]PASSIVO[Ô]; Tab(80); Format(passivocirculante!circulante_credor, [Ô]###,##0.00[Ô])
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
Printer.Print [Ô][Ô]
Do While Not rsselecao3.EOF
linha = linha + 1
Printer.Print Tab(5); rsselecao3!conta_credora; Tab(17); rsselecao3!Descricao; Tab(75); [Ô]:[Ô]; Tab(80); Format(rsselecao3!credor, [Ô]###,##0.00[Ô])
rsselecao3.MoveNext

Loop
Printer.Print [Ô][Ô]
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]DESPESAS[Ô]; Tab(80); Format(soma_Despesa1!soma_Despesas, [Ô]###,##0.00[Ô])
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]

Do While Not rsselecao4.EOF
linha = linha + 1
Printer.Print Tab(5); rsselecao4!conta_credora; Tab(17); rsselecao4!Descricao; Tab(75); [Ô]:[Ô]; Tab(80); Format(rsselecao4!conta_devedora, [Ô]###,##0.00[Ô])
rsselecao4.MoveNext

Loop
Printer.Print [Ô][Ô]
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]RECEITAS[Ô]; Tab(75); [Ô]:[Ô]; Tab(80); Format(soma_Receita!soma_receita1, [Ô]###,##0.00[Ô])
Printer.Print Tab(5); [Ô]--------------------------------------------------------------------------------------------------------------------[Ô]
Printer.Print [Ô][Ô]
Do While Not rsselecao5.EOF [ô]
linha = linha + 1
Printer.Print Tab(5); rsselecao5!conta_credora; Tab(17); rsselecao5!Descricao; Tab(75); [Ô]:[Ô]; Tab(80); Format(rsselecao5!conta_receita, [Ô]###,##0.00[Ô])
rsselecao5.MoveNext

Loop
Printer.Print Tab(5); [Ô][Ô]
Printer.Print Tab(5); [Ô][Ô]
Printer.Print Tab(5); [Ô][Ô]
Printer.Print Tab(5); [Ô][Ô]
Printer.Print Tab(5); [Ô]RESULTADO DO EXERCICIO[Ô]
Printer.Print Tab(5); [Ô]-----------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]ATIVO[Ô]; Tab(30); Format(rsselecao!circulante_devedor, [Ô]###,##0.00[Ô])
Printer.Print Tab(5); [Ô]PASSIVO[Ô]; Tab(30); Format(passivocirculante!circulante_credor, [Ô]###,##0.00[Ô])
Printer.Print Tab(5); [Ô]-----------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]Resultado Final do exercicio[Ô]
Printer.Print Tab(5); [Ô]-----------------------------------------------------[Ô]
Printer.Print Tab(5); [Ô]Resultado final: [Ô]; Tab(30); Format(rsselecao!circulante_devedor, [Ô]###,##0.00[Ô]) - Format(passivocirculante!circulante_credor, [Ô]###,##0.00[Ô])

Printer.EndDoc
[ô]fecha todas as conexões
saida:
[ô] Set myrs = Nothing
Set rsselecao = Nothing
Set rsselecao2 = Nothing
Set rsselecao3 = Nothing
Set rsselecao4 = Nothing
Set soma_Despesa1 = Nothing
Set rsselecao5 = Nothing
Set soma_Receita = Nothing
Set mycmd = Nothing
Mycon.Close
Exit Sub
[ô]inicia tratamento de erros
errimprimir:
With Err
If .number <> 0 Then
MsgBox [Ô]ERRO AO IMPRIMIR:[Ô] & vbCrLf & vbCrLf & [Ô]Houve um erro ao imprimir ordem de compra[Ô] & vbCrLf & vbCrLf & [Ô] favor verificar se o número existe ou se[Ô] & vbCrLf & vbCrLf & [Ô] não foi fechada[Ô], vbInformation, [Ô]Objetivo[Ô]
.number = 0
GoTo saida
End If
End With

End Sub

_______________

O erro esta em todos os selects

desde já agradeço.
TECLA 26/02/2010 11:04:06
#335449
Posta a estrutura da tabela no tópico.
ARES 26/02/2010 11:41:46
#335453
Tecla, obrigado!


tabela plano de contas

numeroconta = chave = texto
descricao = texto
tipo = texto
situacao = texto
extrutura = texto
grupo = texto
subgrupo = texto
subconta = texto
conta = texto


tabplanoconta1

codigo = autonumeracao
data = data abreviada
documento = texto
vvalor_credor = numero, double, padrão, 2
conta_credora = texto
historico = memorando


ARES 26/02/2010 11:43:33
#335454
desculpe-me

faltou um campo para a plano de conta 1

balancete = numero, inteiro

Desde já agradeço
LANDOSP 26/02/2010 12:06:59
#335457
Resposta escolhida
Amigo o campo siuacao é texto correto?

Então deve mudar de

 tblplanoconta1.situacao = 1  


para

 tblplanoconta1.situacao = [ô]1[ô]  


Em todos as linhas do SELECT
ARES 26/02/2010 13:11:47
#335460
LANDSP,

Obrigado pela resposta, funcionou perfeitamente!
Tópico encerrado , respostas não são mais permitidas