Access - Completar con ceros a la izquierda al realizar una consulta con parametros

 
Vista:
sin imagen de perfil

Completar con ceros a la izquierda al realizar una consulta con parametros

Publicado por Tomas (7 intervenciones) el 10/03/2016 13:14:59
Hola! Soy principiante en Acces 2007 asi que voy a tratar de explicar mi duda lo mejor posible.
Tengo una consulta que me devuelve datos de varias tablas, a su vez éstas tablas tienen relaciones entre si. Como yo quiero que esta consulta me devuelva un solo registro le agrego un parametro a un campo que me relaciona los datos que yo quiero. Este campo es un campo de texto pero que se completa con numeros y tiene 8 digitos con lo cual se completa con ceros a la izquierda, por ejemplo 00000001, 00000032, 00000960; por la tanto mi duda es como hago para que cuando me pida el parametro al hacer consulta yo pueda colocar simplemente 1, 32 o 960 en los ejemplos anteriores y me tire el registro correspondiente. Ya intente colocar en el criterio de la consulta Format(nombredelcampo,"00000000") pero no me funciona; y quisiera evitar poner el campo como numerico porque tendria que quitar todas las relaciones de las tablas y volverla armar. Desde ya muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Panchove
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Completar con ceros a la izquierda al realizar una consulta con parametros

Publicado por Panchove (212 intervenciones) el 11/03/2016 04:23:54
Hola

Intenta al reves, mas sencillo, convierte la clave en numerico tipo Long y lo compara con el valor de tu parametro mas o menos algo asi:

SELECT * FROM XXXX WHERE CLNG(CLAVE) = [param1]

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Completar con ceros a la izquierda al realizar una consulta con parametros

Publicado por Tomas (7 intervenciones) el 11/03/2016 15:04:30
Muchas Gracias Panchove por responder!

La verdad que no se muy bien donde y como completar la instrucción, como mencioné soy bastante principiante en acces 2007.
Te paso los datos de mi BD para ver si me podes ayudar como completarla y adonde colocarla; el Campo y Clave Principal se llama CODProtocolo de la Tabla ProtocoloPaciente y el Parámetro que coloco en Criterios es [N de Protocolo:]

Desde ya, muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Completar con ceros a la izquierda al realizar una consulta con parametros

Publicado por Enrique Heliodoro (1664 intervenciones) el 12/03/2016 09:47:29
Si el parámetro que toma la consulta es el campo del formulario, es sencillo, en el propio campo del formulario (en su evento 'después de actualizar') se le da el formato y asi la consulta obtendría el dato correcto.

Con los datos expuestos debería quedar algo como:
Me.nombredelcampo = Format(Me.nombredelcampo,"00000000")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Completar con ceros a la izquierda al realizar una consulta con parametros

Publicado por Tomas (7 intervenciones) el 16/03/2016 00:02:45
Muchas Enrique por la respuesta!
Mejor voy a exponer todo lo que quiero hacer, quizás así sea más fácil. Quiero crear un Formulario en donde a través de un Cuadro de Texto Independiente pueda utilizar el parámetro de la consulta anteriormente descripto, es decir, ingresar los dígitos sin los ceros; que sería algo así como plantea Enrique, creo, para que luego apretando Enter (o lo que sea más conveniente) me muestra los datos en los campos que yo elegí. Por lo que leí sería a través de un Subformulario. Una vez que los datos se muestren en esos campos, quisiera que a través de un botón comando pudiera agregar esos datos en una tabla nueva, es decir, a través de una consulta anexada, pero que no pidiera de nuevo el parámetro utilizado, que simplemente tome los datos que se muestran en el subformulario. Como no se mucho de programación, todo esto lo tengo armado pero todo separado, es decir, tengo la consulta que me muestran los datos, tengo la consulta anexada, tengo el formulario que me muestran los datos, y también el informe, pero como todo esto tiene como origen de los datos la consulta con el parámetro, cada vez que abro la consulta, el formulario y el informe me pide que ingrese el parámetro, lo cual se torna muy tedioso, y más si tengo que ingresarlo con todos los ceros a la izquierda. Aclaro que el campo done está el parámetro es de tipo texto que se ingresa con números de 8 dígitos.
Se que estoy pidiendo demasiado pero bueno, si alguien se apiada, se lo agradecería.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Completar con ceros a la izquierda al realizar una consulta con parametros

Publicado por Enrique Heliodoro (1664 intervenciones) el 16/03/2016 00:46:30
O no utilizamos la misma terminología o tienes un lio un poco liado.

Yo considero 'parámetro' a un dato que se define en la propia consulta y que sera utilizado a modo de variable (usualmente porque se repite para la misma consulta en diversos lugares).

Si el dato no esta definido 'dentro de la consulta' si no que se toma del 'exterior', y se utiliza como filtro, yo mas bien lo definiría como 'condición' y si esa 'condición' esta en un formulario abierto, no debería solicitarla (la tomaría del formulario y si se cierra este lo delataría en el mensaje de error).

Por el reto no veo mayor problema, lo que expuse en un anterior mensaje (rellenar con ceros) solo lo hará si se modifica el valor del cuadro de texto (no cuando se pulse botón alguno), abre el formulario y sin cerrarlo ejecuta la consulta (no debería solicitar nada) MIENTRAS no se cierre el formulario de toma de datos, se podrá utilizar (haciendo referencia a el) en la consulta, informe y formulario que lo precise, si cierras el formulario .... es como si apagas la luz: a obscuras nadie 'mira' nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar