Mostrar ultimo registro automáticamente si se cumplen parámetros

Acudo a su ayuda para poder mostrar el siguiente resultado.

Tengo una tabla que tiene los siguientes campos (columnas) por registro:

"Numero de Caso","Tipo de Caso", "Código de Empresa", y "Año de Caso"

Con estos 4 parámetros se genera un código y así se registra el caso en la base de datos:

Ejemplo: 001-AE-ABC-2015

Que sería el caso 001 del tipo Asesoría Empresarial (iniciales AE) para la empresa ABC en el año2015

Lo que estoy buscando es que al momento de seleccionar el "Tipo de Caso", la "Empresa" y el "Año" me muestre automáticamente en un cuadro de texto independiente el ultimo caso registrado que cumpla esos parámetros, de tal manera que ya uno puede saber que numero de caso debería seguir.

Una observación en particular es que cuando se llenan los registros no necesariamente el orden de secuencia de casos es el mismo.

Por ejemplo puedo registrar en primera instancia el caso:

*001-AE-ABC-2015 = Caso 001 del tipo Asesoría Empresarial (iniciales AE) para la empresa ABC en el año 2015

Luego a continuación registro el caso:

*012-IE-XYZ-2015 = Caso 012 del tipo Investigación Especial (iniciales IE) para la empresa XYZ en el año 2015

ASí puedo registrar luego el caso:

*003-IC-FGH-2015 = Caso 003 del Tipo Investigación Corporativa (iniciales IC) para la empresa FGH en el año 2015.

Con esto doy a entender que pueden entrar diferentes casos de distintos tipos y para diferentes empresas en orden indistinto y así son registrados en la base de datos.

Entonces cuando seleccione los 3 primeros parámetros, que por default se indique qué numero correspondería para así poder registrar el siguiente caso con el numero adecuadi.

Espero puedan ayudar con esta dificultad.

De antemano MIL gracias por la ayuda que me puedan brindar.

Slds,

T.

1 Respuesta

Respuesta
2

¿No es lo mismo que preguntas aquí: ACCESS: ¿Mostrar ultimo registro automáticamente si se cumplen parámetros?

El orden en que metas los registros no influye en el funcionamiento de las fórmulas/código.

Estimado,

Tome los códigos que propusiste en la pregunta anterior pero me bota error.

Te adjunto lo que logré armar, apóyame por favor a ver qué estoy haciendo mal.

Dim elCaso As Variant, laEmpresa As Variant, elAño As Variant

elCaso = Me.[Codigo de Tipo de Caso Empresa]
laEmpresa = Me.[Cod Empresa] ' donde origen del control es la "columna" [Codigo de Empresa] en la Tabla Tabla_Asignacion
elAño = Me.[Año]


If IsNull(elCaso) Or IsNull(laEmpresa) Or IsNull(elAño) Then Exit Sub

Me.txtUltimoCaso = DMax("[N de Tipo de Caso]", "Tabla_Asignacion", "[Codigo de Tipo de Caso Empresa]='" & elCaso & "' AND [Codigo de Empresa]='" & laEmpresa & "' AND [Año]=" & elAño)

Donde mi tabla se llama : Tabla_Asignacion y dentro de ella tengo las "columnas":

*N de Tipo de Caso 

*Codigo de Tipo de Caso Empresa

*Codigo de Empresa

*Año

Cuando corro la Macro para que se actualice el numero (dando click en un boton) me bota el error 3075  (adjunto imagen)

Muchas gracias por la ayuda!

¿El campo "Codigo de Empresa" en la tabla "Tabla_Asignacion", cómo lo tienes definido, como texto o como número?

Si es como número, has de usar esta sintaxis:
Me.txtUltimoCaso = DMax("[N de Tipo de Caso]", "Tabla_Asignacion", "[Codigo de Tipo de Caso Empresa]='" & elCaso & "' AND [Codigo de Empresa]=" & laEmpresa & " AND [Año]=" & elAño)

Imagino, además, que la parte del nombre de los campos que ocultas en la imagen coincide con el nombre del campo que tienes en el código.

Estimado,

Tome el código que me compartiste para que se pueda mostrar el ultimo caso registrado pero sigue sin funcionar.

Te comparto las imágenes de mi tabla de registro así como del formulario que tomo para alimentar dicha tabla.

Por ejemplo en la tabla si quisiera registrar el caso 003-AC-PGA-2015 , al llenar los datos de tipo de caso, empresa y año me debería mostrar en el recuadro plomo que el ultimo caso registrado fue el 2 y así ya se sabe que hay que registrar el caso con el numero 3

Respecto a la pregunta sobre el Codigo de Empresa es tipo texto así que realicé la modificación que correspondía.

Te adjunto el código que usé así como la imagen de error:

Private Sub Boton_Ultimo_Click()

Dim elCaso As Variant, laEmpresa As Variant, elAño As Variant
elCaso = Me.[Codigo de Tipo de Caso Empresa]
laEmpresa = Me.[Cod Empresa]
elAño = Me.[Año]
If IsNull(elCaso) Or IsNull(laEmpresa) Or IsNull(elAño) Then Exit Sub
Me.txtUltimoCaso = DMax("[N de Tipo de Caso]", "Tabla_Asignacion", "[Codigo de Tipo de Caso Empresa]='" & elCaso & "' AND [Codigo de Empresa]='" & laEmpresa & " AND [Año]=" & elAño)
End Sub

De antemano miles de gracias hasta ahora por toda la ayuda brindada.

Slds.

T

en la imagen que pones del error, borras una parte del nombre de los dos primeros campos: [Codigo de Tipo de Caso -----] y [Codigo de Empresa --------], mientras que en el código no veo que hagas referencia a esos mismos campos: [Codigo de Tipo de Caso Empresa] y [Codigo de Empresa].

Además, en este último código que pones, te falta una comilla simple antes del " AND [Año]="

Sin ver la BD poco más te puedo decir. Si quieres haz una copia de tu BD con la tabla y el formulario que intervienen y un par de registros de ejemplo inventados, la subes a dropbox o a cualquier web de intercambio de archivos (filebig.net, por ejemplo) y me pones aqui el enlace de descarga para que la pueda ver y buscar el problema.

Para que veas que el código funciona, te preparé un mini-ejemplo:

http://www.filebig.net/files/JExS7fsRbu 

Estimado mil gracias por el access de soporte

Estoy haciendo todo igual pero me sigue botando error :

" Se ha producido el error '3464' en tiempo de ejecución: No coinciden los tipos de datos en la expresión de criterios".

He revisado que en archivo que me pasaste la tabla de registros tiene un ID autonumerado. ¿Influenciará en algo que no tenga yo ese parámetro?

Seguiré intentando a ver en donde esta el error. Si puedo hoy trato de subir mi database para que le des una revisión.

Muchas gracias por todo el apoyo hasta ahora.

Slds.,

T.

El ID autonumérico no influye para nada en el código. El error que te da es que le estás pasando algún parámetro del tipo incorrecto, por ejemplo (y casi seguro) texto a un campo numérico.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas