Access - Asignar Valor de una consulta

 
Vista:

Asignar Valor de una consulta

Publicado por B. (3 intervenciones) el 24/01/2007 09:25:51
Hola, buenos días, me imagino que será una tontería, pero soy nuevo en esto y no caigo en cómo hacerlo.

Resulta que tengo que "registrar" cada informe que haga con el siguiente formato 001-07 , es decir, el primero del 2007, así que cuando haga otro informe sea el 002-07 y cuando cambiemos de año, el contador se vuelva a poner a 0 y el 07 se sustituya por 08.
La verdad es que no se me ocurre como hacerlo, se me habia ocurrido crear dos tablas auxiliares i a través de una consulta coger dos valor, el 07 del año, y un contador autonumerico, pero no creo que sea la mejor opción,
Espero que me ayuden,
Gracias de antemano.

PD: Las entradas de registro las hago a través de formulario. Y el campo donde quiero que muestre eso se llama NumExpedient
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

RE:Asignar Valor de una consulta

Publicado por Jordi (226 intervenciones) el 24/01/2007 18:10:30
Separaremos los dos numeros ej: numexpedient 001 y añoexpedient 07
Crea un nuevo campo en la tabla y le pones de nombre AñoExpedient (formato número)por ejemplo. Luego añade el nuevo campo al formulario. En las propiedades del mismo formulario, ve a la pestaña eventos y le das un click a al activar registro. Luego a los tres puntitos y al generador de codigo. Ahí copias el siguiente codigo:

If Not Me.NewRecord Then Exit Sub
Me.AñoExpedient= Val(Format(Date, "yy"))
Me.NumExpedient= Nz(DMax("NumExpedient", "nombredelatabla", "AñoExpedient= " & Val(Format(Date, "yy"))), 0) + 1

Solo debes cambiar nombredelatabla por el nombre de la tabla donde está el campo NumExpedient. Puedes comprobar que funciona poniendo el reloj del ordenador a 2008 y entrar un nuevo registro. Suerte
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

RE:Asignar Valor de una consulta

Publicado por Juan Amorós (218 intervenciones) el 24/01/2007 18:10:32
Hola B.:
Yo te "recomiendo" crear una tabla con 2 campos: Año y Contador (ambos numéricos Entero Largo, para no complicarte la vida).
Cada vez que emitas un informe (si ese es el propósito) "asigna" y "busca" los siguientes valores al formulario:

año= year(fechadellInforme)
me!contador = DMax("[Año]", "[Tablacontador]", "[Año]=" me!año) + 1

Logras:

1.- Estableces el año al de la fecha que tú desees de tu formulario
2.- Obtienes el "número" + 1 grabado en el contador de "informes" para el informe que vas a imprimir.

Tras la ejecución del Informe ejecuta una consulta de actualización de la tabla (así te aseguras que ha sido tras la realización "real" del informe. La actualización es tan sencilla como:

1.- Seleccionar los 2 campos de la tabla
2.- Seleccionar consulta de ACTUALIZACION
3.- En "criterios" de la columna del campo Año, escribes:
Reports!TuInforme!Año
4.- En la columna del campo Contador, en la línea "Actualizar a", escribes:
[Contador]+1

Al principio de CADA AÑO créate un NUEVO REGISTRO con el número de AÑO y el Campo Contador a 0.

Saludos
Juan Amorós
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