Duda Access con caracteres tablas vinculadas a Excel.

Tengo un programa de access, el cual tiene 2 tablas vinculadas a archivos que me entregan en Excel.
1) A partir de una de las tablas debo extraer una columna con importes en donde la salida debería ser a 17 caracteres. El dato debe salir con ceros a su inicio y los importes deben estar al final y sin caracteres.
Por ejemplo: si un importe es 100,25 la salida debería ser 00000000000010025
                       Si un importe es 1216,18 la salida debería ser 00000000000121618
2) A partir de la segunda tabla debo extraer de una columna con Números de cuenta y pasarla a 17 caracteres (datanet). En el caso que el dato tenga 9 caracteres debo agregar un 0 (cero) a su inicio y siete espacios en blanco al final. Por ejemplo si una cuenta tiene 123456789 la salida debería ser 0123456789XXXXXXX (siendo POR = espacio en blanco). En el caso que el nro de cuenta sea de 10 caracteres solo debo agregarle los 7 espacios en blanco al final.
Esto puedo hacerlo por un lado, directamente en el Excel agregando el formato con 10 ceros y otra columna que tenga 7 espacios en blanco, pero si la consulta la paso a creación de tabla o a un txt que es en realidad lo que voy a tener que terminar sacando, el cero inicial no me lo toma y el Excel siempre me lo darán con el formato actual por lo tanto quiero evitar tener que cambiarlo siempre.
Desde ya, agradezco el tiempo y espero alguien pueda darme una mano.

1 Respuesta

Respuesta
1
Supongamos que los campos se llaman Importe y Cuenta, en una consulta:
Para el Importe:
Expr1: Cadena(17-Longitud(EnCad(Recortar(Cad([Importe]));",";""));"0") & EnCad(Recortar(Cad([Importe]));",";"")
Para la cuenta:
Expr2: Cadena(10-Longitud(Recortar(Cad([Cuenta])));"0") & Recortar(Cad([Cuenta])) & Cadena(7;" ")
Me cuentas.
Buenas Angeles, antes que nada agradecer tu rápida respuesta.
Va 10 puntos, solo unas dudas:
Por un lado, me daba error en ambas por el ; (punto y coma) por lo tanto lo reemplace por, (coma) y funciono.
La de la cuenta quedo perfecta!
La del importe quedo bien, pero no me agrega los decimales sino que me redondea.
Por ejemplo en el excel tengo el importe $8076,91
Al realizar la consulta me da 00000000000008077
mientras debería darme 00000000000807691
¿Abra forma de que no redondee?
De todas maneras, sin palabras! Una respuesta de lujo!
Gracias!
Lo del ; o, es dependiendo de dónde lo hagas, si lo haces en consulta ; en código,
No entiendo porque redondea ¿No tendrás en la especificación de viculación el campo como Entero? Ponlo Doble y seguramente no te regondea.
Me cuentas.
Buenas, en cuanto a lo del ; y, yo pongo la expresión en la consulta, en donde dice "campo" y ahí solo me deja poner con,
De todas maneras así me funciona así que no es un problema.
En cuanto al redondeo, yo tomo el dato desde una tabla vinculada a un archivo de excel. Fui al diseño de esta tabla y el campo lo tengo como "Numero" y debajo, tengo:
Tamaño del campo: Doble
Formato: Fijo (3456,79)
Lugar decimales: 2
Así y todo me sigue saliendo con el redondeo, sin los decimales. ¿Hay algo que este haciendo mal?
Si abro la tabla, el importe lo veo con 2 decimales correctamente...
Estoy usando Access 2003
No se lo que puede pasar, yo también tengo access 2003 y no tengo ningún problema. Si quieres, me das tu correo y te mando la prueba que hice.
Agradezco tu dedicación Angeles, un gusto conocer gente así.
Claro que te paso mi mail
[email protected]
Gracias y aguardo tu mail.
Ya te la envié. Me cuentas
Realmente Angeles, de lo mejor!
Felicitar a la web ya que es muy útil y a este "EXPERTO" que merece con gusto cada una de estas letras.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas