Como contar valores de dos campos de una tabla que coincidan con el valor de un tercero

Es para una tabla de clasificación deportiva en la que saco la clasificación como local y como visitante pero no doy con la clave para unificarla

1 respuesta

Respuesta
2

¿Lo quieres en código VB o en SQL? ¿Son puntos o goles? Es que, por ejemplo, si en la tabla X diferencias entre local y visitante podrías poner

TotalPuntos=dsum("puntoslocal","tablaX",.......)+dsum("puntosvisitante","TablaX",....)

Sería conveniente que pusieras una imagen de la tabla

Gracias por responder tan rápido. Esta es la tabla de partidos. En la consulta de clasificaciones local o visitante tengo el nombre y escudo del equipo y funcionan bien, bueno no consigo que me ponga 1º, 2º, 3º, etc. pero bueno eso no me preocupa demasiado.

No me imagino los datos que guardas, pero... si tengo una tabla Equipos

Y una tabla Resultados( aunque no serían necesarios los campos PuntosL y PuntosV)

Con esta hago un formulario donde cambio el cuadro de texto Local por un combinado con origen de la fila en la tabla Equipos y el cuadro de texto Visitante por un combinado pero le dejo en blanco el origen de la fila. Lo que hago en código es decirle que el origen de la fila sea aquellos equipos de la tabla Equipos pero que sean distintos al que has escrito como local( para evitar que por error pongas a un mismo equipo como local y visitante en el mismo partido), y le digo que si los goles del local son más que los del visitante, puntos local=3 y visitante=0,...

Tambien le digo que inserte esos valores en la tabla Clasif, con la que voy a hacer la ídem.

El código del formulario es

Private Sub Comando15_Click()
DoCmd.OpenReport "clasif", acPreview
End Sub
Private Sub GolesV_AfterUpdate()
If GolesL > GolesV Then
PuntosL = 3
PuntosV = 0
ElseIf GolesL = GolesV Then
PuntosL = 1
PuntosV = 1
Else
PuntosL = 0
PuntosV = 3
End If
DoCmd.RunSQL "insert into clasif(equipo,puntos)values(local,puntosl)"
DoCmd.RunSQL "insert into clasif(equipo,puntos)values(visitante,puntosv)"
End Sub
Private Sub Visitante_GotFocus()
Visitante.RowSource = "select equipo from equipos where equipo<>forms!resultados!local"
End Sub

De forma que la tabla Clasif me va quedando así

Luego, con ella, hago un informe pero le modifico el origen del registro y lo pongo como

De forma que cuando lo abro, o bien desde el propio formulario Resultados al pulsar el botón, o bien desde la ventana de navegación, me queda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas