ERRO REPENTINO EM UM SELECT

IRENKO 13/08/2009 17:47:17
#319807
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?
TECLA 13/08/2009 17:57:50
#319809
Experimenta converter para DOUBLE as colunas TEXTO.

Exemplo:
SELECT SUM(CDBL(Quantidade) * CDBL(Unitario)) AS TOTAL 
FROM Localizacao


Pergunto: Tem alguma registro com [Ô]letra[Ô] na tabela?
IRENKO 13/08/2009 18:08:39
#319810
Pra esses dois campos não, mas para outros sim.
IRENKO 13/08/2009 18:10:18
#319811
Há! Ja tentei o CDBL e não deu resultado.
RICART 13/08/2009 19:59:50
#319819
Resposta escolhida
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)

IRENKO 14/08/2009 07:44:47
#319838
Valeu RICART, um dos campos realmente estava com o valor nulo, problema resolvido.
Tópico encerrado , respostas não são mais permitidas