Decimales en exportación de datos

Antes de nada agradecerte tu apoyo y tu tiempo.
Te comento el problema que tengo: el problema en sí es simplemente la generación de un número concreto de decimales en un campo numérico pero como imagino que todo tendrá relación te comento rápidamente todo:
Parto de una base de datos donde se registran facturas de gastos. Los campos numéricos aquí Tienen estas características: Tamaño del campo decimal, Formato euro, Precisión 18, escala 8, lugares decimales 2. No obstante he probado otros muchos con el mismo resultado.
Esa primera base, tiene relacionada sus tablas con otra segunda, donde se hace un tratamiento de esos primeros datos, y con una serie de consultas se anexan datos a otra tabla, en la que los campos numéricos tienen estas características: Tamaño del campo doble, formato número general, Lugares decimales 2. Igualmente he probado otras opciones sin resultado. Comentarte que el que el tamaño sea Doble en esta tabla en sus campos numéricos es que es la única forma en que los datos se generaban de forma correcta para el objetivo de esta segunda tabla, que no es otro que exportar unos ficheros que luego un programa de contabilidad pueda importar.
Y ahí viene el tercer paso, mediante unas consultas genero un par de ficheros que posteriormente importo con otro programa. El problema está en los datos numéricos que genera esta exportación y para explicarme mejor te pongo un ejemplo:
Imaginemos una factura con una base imponible de 25,42, un iva (campo que se autocalcula cuando se introduce la factura) de 4,5756 y por tanto un total de 29,9956. Yo lo que quiero es que en la consulta final que me sirve para generar los ficheros exportados, en vez de 4,5756, me apareciera 4,58 y en vez de 29,9956 me apareciera 30,00. En esa consulta, si genero una vista de datos me aparece como yo quiero, y en las propiedades de los campos numéricos tengo puesto formato fijo y lugares decimales 2, aunque he probado otros con el mismo resultado. Pero lo cierto es que cuando genero el fichero para la posterior importación, el total que aparece es de 29,9956 y el programa con el que importo sólo toma los dos primeros decimales quedando una cifra total de 29,99.
He probado distintas opciones de tipos de campos y decimales pero imposible dar con la tecla

1 respuesta

Respuesta
1
Me he encontrado más de una vez con incidencias como esta en Access, y las solucioné de la manera que te expongo sin buscarle mayor explicación al motivo de error.
Supongo que generas el fichero leyendo de una tabla.
Prueba a generarlo leyendo de una consulta (sobre esa tabla) pero que los datos en cuestión operen con una función de redondeo.
O sea que el campo de base imponible sería:
BaseImponibleRedondeada:Redondear ([BaseImponible]; 2)
A ver si con una respuesta tan escueta solucionamos este problema tan bien detallado.
Ya me comentarás.
Una aperta.
Fantástico. Aunque como bien dices no sepamos el porqué de ese error, como en otras tantas veces lo importantes es buscarle la forma de que funcione.
Muchas gracias por tu tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas