Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/09/2009, 07:32
samuelrojasp
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
conversion condicional de datos

Amigos:

Tengo el siguiente problema:

Tengo acceso a una base de datos sobre la cual no tengo privilegios de escritura, solo tengo privilegios para hacer consultas. Sucede que en una consulta quiero tomar los saldos de unas facturas, para ello debo restar el debe y el haber y agruparlos por numero de factura. Todo bien hasta ahi.

El primer problema que se me presenta es que algunos numeros de factura estan con numero "00001245" y otros con "1245", y Access los interpreta como distintos. Para ello simplemente uso Int() o CInt(), y funciona. Entonces, hasta ahi todo bien.

Pero finalmente se me presenta una tercera dificultad. Los usuarios del sistema en algunas ocasiones han introducido el numero de factura con formatos extraños y erroneos como "factura1245", por dar un ejemplo, y ahi si que estoy complicado, porque al hacer el Int() me da error ORA-01722.

Probe con esto:

iif(int(numerofactura), int(numerofactura), numerofactura)

me salio que los tipos no coinciden.

luego intente:

iif(cint(numerofactura), cint(numerofactura), numerofactura)

y me salio "desbordamiento"

tambien trate con:

iif(iserror(int(numerofactura), numerofactura, int(numerofactura))

y me salio igualmente "los tipos no coinciden"

Entonces estoy fregado, no se me ocurre que mas hacer. La base de datos es Oracle, estoy conectado mediante ODBC con Access 2003.

Tambien tengo instalado en mi pc Wamp, por ende tambien tengo como hacerlo por php, pero queria construir la consulta primero, antes de pasarlo a PHP, y hacer algo mas solido.

muchas gracias de antemano