ERRO REPENTINO EM UM SELECT
Pessoal, essa consulta estava funcionado sem erros, derrepente não funciona mais esta dando o erro:
Tiopo de dados incopativel com a expressão e criterio
Set TbSaldoTotal = New ADODB.Recordset
TbSaldoTotal.Open [Ô]SELECT SUM(Quantidade * Unitario)AS TOTAL FROM Localizacao;[Ô], BancoSobra, adOpenDynamic, adLockOptimistic
O banco é access, os campos (Quantidade e Unitario) esta configurado como texto.
Vai entender, a meses estava funcionado corretamente. Alguem pode explicar?
Tiopo de dados incopativel com a expressão e criterio
Set TbSaldoTotal = New ADODB.Recordset
TbSaldoTotal.Open [Ô]SELECT SUM(Quantidade * Unitario)AS TOTAL FROM Localizacao;[Ô], BancoSobra, adOpenDynamic, adLockOptimistic
O banco é access, os campos (Quantidade e Unitario) esta configurado como texto.
Vai entender, a meses estava funcionado corretamente. Alguem pode explicar?
Experimenta converter para DOUBLE as colunas TEXTO.
Exemplo:
Pergunto: Tem alguma registro com [Ô]letra[Ô] na tabela?
Exemplo:
SELECT SUM(CDBL(Quantidade) * CDBL(Unitario)) AS TOTAL
FROM Localizacao
Pergunto: Tem alguma registro com [Ô]letra[Ô] na tabela?
Pra esses dois campos não, mas para outros sim.
Há! Ja tentei o CDBL e não deu resultado.
O que está ocorrendo é que em algum registro qualquer um dos campos Quantidade ou Unitário possui um valor nulo ou não numérico.
O correto seria a os campos das tabelas estarem com tipo de dados corretos, para lhe evitar problemas como este.
Faça uma varredura nos registros e troque os valores não numéricos e nulos por 0. Verifique se não há valores gravados como 2.120,00 (ou seja, o divisor de milhar não poderá ser gravado, pois torna o valor como não numérico)
O correto seria a os campos das tabelas estarem com tipo de dados corretos, para lhe evitar problemas como este.
Faça uma varredura nos registros e troque os valores não numéricos e nulos por 0. Verifique se não há valores gravados como 2.120,00 (ou seja, o divisor de milhar não poderá ser gravado, pois torna o valor como não numérico)
Valeu RICART, um dos campos realmente estava com o valor nulo, problema resolvido.
Tópico encerrado , respostas não são mais permitidas