¿Cómo limitar la cantidad de registros que puedo guardar en una tabla o consulta en access 2010 según el campo equipo?

Tengo una tabla llamada Tabla1, una Consulta llamada Consulta1 y un formulario llamado Captura, el formulario tiene los siguientes campos, Ejemplo: Nombre, Apellido, Teléfono, Equipo; necesito que el formulario, la tabala o la consulta (no me importa en cual se haga), guarden un máximo de 14 jugadores por equipo,

Ejemplo:

A un equipo se le asignaran 14 jugadores, los cuales son digitados por personas que necesariamente no saben cuantos jugadores tiene cada equipo al momento (tampoco deseo que lo sepan), por esta razón necesito que una vez alcanzado el limite de jugadores (14) por equipo, el sistema no permita registrar un nuevo jugador y si alguien intenta registrar uno más, le de un mensaje de error diciendo que "El equipo esta completo" y obviamente no lo guarde.

Espero haber sido lo más claro y gráfico posible para que algún experto me pueda ayudar con esta situación que tengo.

Respuesta
1

En el formulario cuando presionas el botón de agregar nuevo jugador, antes de insertarlo en tu tabla debe hacer una consulta del conteo por equipo para saber la disponibilidad.

Si el conteo de jugadores de ese equipo es 14 entonces debería arrojar un error.

Ejemplo:

Al hacer click en el botón agregar nuevo jugador que se va a agregar al equipoo A:

Select Count(Nombre) as Conteo from  TABLA1  where EQUIPO = 'Equipo A'

If Conteo < 14 then

 Inser into TABLA1 (Nombre, Apellido, Telefono, Equipo)

else

Msgbox "El equipo ya tiene el limite de jugadores permitido"

End If

Básicamente es la función que necesitas, si quieres pásame el archivo del Formulario para hacerle esta adecuación, ya que necesito más datos.

Saludos.

Suscríbete a mi canal: http://bit.ly/1KgurfF
Sigueme en Twitter https://twitter.com/RaduNordenhulk
Agregame en Facebook: http://on.fb.me/1oFUXVL
Sigue mis publicaciones en mi blog: http://radunordenhulk.blogspot.com/

1 respuesta más de otro experto

Respuesta
2

En el evento antes de insertar del formulario, crea un procedimiento de evento escribe

Private Sub Form_BeforeInsert(Cancel As Integer)

If Me.Recordset.RecordCount = 14 Then

Cancel = True

MsgBox "Ha superado el número máximo de jugadores para esteequipo"

End If

End sub

Lo que hace es que cuando vas metiendo registros, o sea jugadores, cuenta los que hay, y cuando llega a 14 te avisa y ya no te guarda

Por cierto, si usas el mismo formulario para dar de alta diferentes jugadores en diferentes equipos, cambia lo anterior por el evento Antes de actualizar del cuadro de texto Equipo, entre Private Sub y End sub escribe

if dcount("nombre","tabla1","equipo=forms!nombredelform!equipo")>=14 then

docmd.cancelevent

MsgBox "Ha superado el número máximo de jugadores para este equipo"

end if

Así, cuando escribas el nombre, apellido y vayas a poner el equipo, antes de guardarlo contará los que ya hay y si hace el número 15 no te deja pasar y te aparece el mensaje.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas