Limitar registros a través de un campo en Access 97

Tengo diseñada una Bd principal a la cual esta vinculada otra Bd de donde coge ciertos datos llamada " ACTIVIDADES " esta tiene una tabla llamada " CURSOS ACTIVIDADES " en la que introduzco datos a través de un formulario llamado " ALTAS ACTIVIDADES " y concretamente mediante un campo de este llamado " código " . En este formulario existe un SubFormulario llamado " Consulta TOTALES POR CÓDIGO " con dos campos ( "codigo" y "CuentaDeCODIGO" ) donde se muestran los códigos y el nº de ellos que voy introduciendo a través del campo " código" del formulario " ALTAS ACTIVIDADES"

Ejemplo: Se muestra en el SubFormulario " Consulta TOTALES POR CÓDIGO "

                                CODIGO                   CuentaDECODIGO

                                     YOA                                    3                    ( quisiera limitarlo a un máximo de 20 )

                                     RIS                                      9                    ( quisiera limitarlo a un máximo de 15 )

                                     GTA                                   15                    ( quisiera limitarlo a un máximo de 25 )

¿Mi pregunta es como podría establecer ese máximo de inscripciones por código y al alcanzar dicho número no me dejara introducir más mostrando un aviso?

1 respuesta

Respuesta
2

No dices si Código y Cuenta de código los escribes tú. Vamos a suponer que si. En el evento Al recibir el enfoque del cuadro de texto Cuentadecodigo, crea un procedimiento de evento y entre Private Sub y End Sub pon

select case codigo

case is="yoa"

If dcount("*","nombre de la tabla o consulta","codigo=""yoa""")>=20 then

msgbox"Va a ser que no, has llegado al límite de 20",vbokonly,"Otra vez será"

codigo.setfocus

end if

case is="RIS"

If dcount("*","nombre de la tabla o consulta","codigo=""ris""")>=15 then

msgbox"Va a ser que no, has llegado al límite de 15",vbokonly,"Otra vez será"

codigo.setfocus

end if

case is="GTA"

If dcount("*","nombre de la tabla o consulta","codigo=""gta""")>=20 then

msgbox"Va a ser que no, has llegado al límire de 1"5,vbokonly,"Otra vez será"

codigo.setfocus

end if

End select

El código te vale exactamente igual para el formulario. En este caso le he puesto, para no escribir mucho, 3

Gracias Icue por tu respuesta.

A tu pregunta si el código y CuentaDecodigo los escribo yo, la respuesta es no. El campo Código del SubFormulario es el campo del mismo nombre del formulario y se rellena sólo y en cuanto al campo CuentaDecodigo del SubFormulaio es un campo que cuenta los registros del campo Código iguales. No se si esto puede variar tu respuesta de solución. Gracias 

Como no sé para que sirve el subformulario, si tengo una tabla

Y construyo un formulario, cuando en el combinado elijo un código me aparece un mensaje que me dice cuantos llevo(como puedes comprobar es el primer registro del formulario)

Si me voy al siguiente y vuelvo a elegir yoa

Si me voy al tercero y vuelvo a elegir YOA

Pero ahora al pulsar Aceptar, como le he puesto de limite 3, el cursor se vuelve al control Codigo para que lo modifique

Y no me deja pasar

El código del evento Después de actualizar es

En mi caso le puse 3, pero tendrías que ponerle 20.

¿Qué no quieres que aparezca el mensaje? le quitas lo de msgbox

¿Qué quieres mostrarlo en un cuadro de texto Cuenta? Basta con poner

Cuenta=a

¿Que quieres que el mensaje sólo aparezca en el registro 20 de YOA? donde pone

If codigo="YOA".... then

Msgbox"has llegado a los 20...

Docmd. Cancelevent

elseif ...

Msgbox"has llegado a los 15...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas