Relleno en un textbox

En un txtbox quiero poner un nro y que me lo rellene con ceros a la izq. Y lo transforme en txt para que busque en una tabla que el indice es texto de cuatro cifras. Se que la función es padl pero no se donde ponerla para que tranf primero y busque después ya que la búsqueda la pongo en validate
Saludos y gracias
Carlos

3 Respuestas

Respuesta
1
Pones esto en el método valid del textbox
* 1) Establezco el textbox para el ingreso de caracteres (hay varias formas mas)
This.Format='!'
* 2) quito los espacios del caracter ingresado en el textbox
svalor = alltrim(this.value)
* 3) Ahora generamos el string (supongamos de un ancho de 8)
svalor = PADL(svalor , 8, '0')
this.value = svalor
Respuesta
1
En ele evento VALIDATE del TEXTBOX escribe algo semejante a:
THIS.VALUE == PADL( ALLTRIM( STR( THIS.VALUE ) ), 4, '0' )
SEEK THIS.VALUE
RETURN !EOF()
... bueno, eso digo yo.
Víctor.
La primera linea y la segunda puestas así me dan error de sintaxis y la miro y no veo porque.
Lo más probable es que el contenido de tu control TEXTBOX sea carácter, en ese caso, cambia la primera línea a:
THIS.VALUE == PADL( ALLTRIM( THIS.VALUE ), 4, '0' )
Si es carácter, y ahora probando me da el error:
El valor, tipo o numero de argumentos no es válido para la función.
Ademas en la segunda linea y le agrego:
,"sucursal"
Ya que es la tabla donde quiero que busque y me da error al cerrar: falta ) en la función y no me deja guardar la reforma del formulario
gracias
carlos
Perdón, cometí un error puse dos signos de igual en lugar de uno. La línea corregida queda:
THIS.VALUE = PADL( ALLTRIM( THIS.VALUE ), 4, '0' )
Pido disculpas.
Respuesta
1
Cuando hagas la búsqueda usá:
Right("0000"+str(thisform.txtbox.value, 4,0), 4)
Obviamente reemplazá thisform.txtbox.value por el nombre del objeto texbox que tengas.

Añade tu respuesta

Haz clic para o