Estoy creando una base de datos en access para una cofradía.

Tengo una tabla de socios, cada socio tiene un rango y cada rango paga una cuota diferente, el pago de la cuota es anual. El rango lo cojo de una tabla llamada rango donde viene la cuota a pagar por cada rango. ¿Qué tendría que hacer para que me dé el pago anual de cada socio? ¿Y sigo un socio me paga una parte de la cuota anual me la reste?

1 respuesta

Respuesta
1

Lo puedes hacer de mil formas distintas, sólo con código, con consultas, sin botones, etc. etc.

Por ejemplo, supongamos que tengo una tabla Socios

Es que no sé los rangos en una Cofradía. Y una tabla Rangos donde a cada rango le corresponde una cuota, que no pongo por no verle la necesidad.

Una tabla Cuotas, con un campo Año

Construyo una consulta de datos anexados( pero como te decía no hace falta ya que se le puede decir lo mismo en código) a la tabla Cuotas

Si tengo un formulario, donde le pongo un cuadro de texto llamado Año Cuando pulso Crear cuotas

( Aunque tampoco haría falta ya que bastaría con un InputBox) para que escribas el año que quieres crear y un botón

Cuando pulso el botón, me deja la tabla Cuotas como

Con lo que ya podría crear un informe tipo Lista o uno de etiquetas, etc.

Si volviera a pulsar el botón

Y no me las crearía.

El código del evento Al hacer clic del botón es

Private Sub Comando0_Click()
If DCount("*", "cuotas", "año=" & Me.Año & "") > 1 Then
MsgBox "Esas cuotas en ese año " & Me.Año & " ya están creadas", vbOKOnly + vbInformation, "Tendrá que cambiar de año"
Exit Sub
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "anexar"
DoCmd.RunSQL "update cuotas set año=" & Me.Año & " where año is null"
End If
End Sub

Es decir, primero cuéntame si ya hay en la tabla Cuotas alguna con ese año. Si la hay, pon el mensaje y no hagas nada, para no tener cuotas repetidas. Si no hay ninguna, ejecuta..

Pero como te decía lo puedes hacer de muchas formas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas