FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error: BCD Overflow
Que tal
Me genera el error "BCD Overflow" al hacer una suma cuando el resultado rebasa los 1,000.00, estoy utlilizando Delphi 6 (CLX), dbexpress, el codigo es el siguiente: with dmDatos.qryListados1 do begin Close; CommandText := 'SELECT a.clave, a.nombre, SUM(v.cantidad*v.precio*' + '(1-v.descotorg/100)) AS importe FROM areasventa a ' + 'LEFT JOIN ventasareas v ON a.clave = v.areaventa ' + 'WHERE a.caja = ' + IntToStr(iCaja) + ' OR a.caja IS' + 'null GROUP BY a.clave, a.nombre ORDER BY nombre'; Open; end; alguien que me pueda orientar que es lo que pasa y como solucionarlo gracias de antemano Saludos Bismarck |
#2
|
||||
|
||||
Hola.
¿ Has instalado el Update específico para el driver dbExpress de Interbase ?. Tienes que instalar el Update Pack 2 de Delphi 6, y ese driver. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
|||
|
|||
Ya pude solucionar el problema, le agregue un CAST a la suma.
No sabía que se podía hacer desde SQL, hasta que vi una noticia que publicó guillotmarc acerca del replicador de IB. with dmDatos.qryListados1 do begin Close; CommandText := 'SELECT a.clave, a.nombre,' + 'CAST(SUM(v.cantidad*v.precio*(1-v.descotorg/100)) AS' + ' numeric(12,2)) AS importe FROM areasventa a ' + 'LEFT JOIN ventasareas v ON a.clave = v.areaventa ' + 'WHERE a.caja = ' + IntToStr(iCaja) + ' OR a.caja IS' + 'null GROUP BY a.clave, a.nombre ORDER BY nombre'; Open; end; |
|
|
|