Rellenar a la izquierda con ceros

En una tabla tengo un campo numérico y lo tengo que pasar a otra tabla pero a un campo alfanumérico de ancho fijo, sin decimales y con ceros a la izquierda

1 respuesta

Respuesta

Sería conveniente saber que tamaño va a tener ese campo texto. Pero así, a bote pronto, suponiendo que el cuadro de texto donde aparecen los números se llama texto0, en el origen del control del otro podrías poner

=format([texto0];"000000")

Dependiendo, como te decía, del tamaño que quieres para ese control.

El tamaño del campo alfanumérico es 15. Por ejemplo si el importe en la tabla anterior era de 15000,87 en esta nueva tabla ese campo debe ser alfanumérico y quedaría así 000000001500087.

Ese valor lo tengo que pasar a un archivo .txt de formato fijo.

Es que puedes hacerlo de muchas formas, pero antes tendrías que responder a lo que te preguntaba antes.

- El número ese ¿va a tener siempre 5 enteros y dos decimales? O puede ser, por ejemplo, 15, 2 ó 222,345

Miras, si tengo el formulario con cuadros de texto independientes, donde en texto0, texto2 y texto4 pongo el número que dices, me lo convierte en los de la derecha

Y les doy una instrucción distinta a cada uno. En el evento Después de actualizar de los cuadros de texto de la izquierda le tengo puesto

Private Sub Texto0_AfterUpdate()
Texto1 = Format(Replace([Texto0], ",", ""), "000000000000000")
End Sub
Private Sub Texto2_AfterUpdate()
Texto3 = "00000000" & Replace([Texto2], ",", "")
End Sub
Private Sub Texto4_AfterUpdate()
Texto5 = Replace([Texto4], ",", "")
Dim i As Byte
For i = 1 To 15 - Len([Texto5])
Texto5 = 0 & Texto5
Next i
End Sub

En el caso de texto2 sólo te serviría si siempre fueran a tener 5 enteros y dos decimales.

Sin embargo tanto en texto0 como texto4 da igual el tipo de número que pongas, ya calculan lo que tienen que poner.

Cualquiera de los resultados son texto.

El numero siempre va a tener 2 decimales, la parte entera puede variar pues corresponde a valores de un concepto de sueldo por ejemplo "sueldo Basico" que puede ser 100,00 o 20000,00, lo que tengo que poner en un campo cuyo tipo de datos es TEXTO con una longitud de 15 en el mismo debe quedar sin comas y con ceros a la izquierda. Esto lo estoy haciendo en access con una consulta sencilla

Si siempre va a tener dos decimales, puedes hacerlo en una tabla, añadiéndole un campo calculado.

Para eso tienes que poner el campo Texto2 como

Pues tanto las instrucciones de texto0 y texto4 como lo de la tabla te sirve perfectamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas