Como sumar varios campos con formato de texto

Estoy haciendo un programa para un campeonato de tiro, tengo varios campos con formato de texto donde se registran los aciertos y fallos de los tiradores, los aciertos se registran con un alegra X y los fallos con una letra O, como puedo sumar cuantos aciertos y cuantos fallos tuvo cada tirador

1 respuesta

Respuesta

Puedes hacerlo de muchas formas. La pregunta a la que deberías responder es

¿Dónde quieres verlo? ¿En una consulta, un formulario, un informe?

Una vez que lo digas te pongo un ejemplo.

Hola buenas noches en un formulario y en un informe por favor muchas gracias por el. Apoyo

Quiero dejar claro que no tengo ni idea de como es tu tabla, por eso tengo que generalizar. Si tengo la tabla Tiradas

Aunque veas 0 lo trato como texto

Con esta tabla puedo hacer una consulta

He preferido que veas como funcionaría el Siinm, pero se podría hacer poniendo Aciertos:[resultado), en criterios poner

Como "X" y agrupar por cuenta

El resultado

En el caso de un formulario, puedes hacerlo de mil maneras distintas. Por ejemplo, le pongo un combinado donde elijo el nombre del tirador, en este caso

En cuanto lo elijo

O bien

El código del combinado, al que he llamado Elegir, es

Private Sub Elegir_AfterUpdate()
Dim i As Byte, c As Byte
i = DCount("*", "tiradas", "tirador='" & Me.Elegir & "' and resultado=""X""")
c = DCount("*", "tiradas", "tirador='" & Me.Elegir & "' and resultado=""0""")
MsgBox "Este petardo(a) ha tenido " & i & " aciertos y " & c & " fallos", vbOKOnly + vbInformation, " Que lo sepas"
Aciertos = i
Fallos = c
End Sub

En función de como quieras verlo, pero ya te digo que hay tres mil formas, eliminas o dejas líneas en el código. En este caso he preferido que veas el uso de Dcount

En el caso de un informe, le añado dos cuadros de texto independientes Aciertos y Fallos

En el evento Al dar formato de la sección Encabezado Tirador le digo lo mismo, sólo que en este caso hago referencia al control Tirador

Private Sub EncabezadoDelGrupo0_Format(Cancel As Integer, FormatCount As Integer)
Aciertos = DCount("*", "tiradas", "tirador='" & Me.Tirador & "' and resultado=""X""")
Fallos = DCount("*", "tiradas", "tirador='" & Me.Tirador & "' and resultado=""0""")
End Sub

Y al abrirlo

Podrías ordenarlos por nombre, como está, por aciertos, por fallos( para expulsarlos de la competición y que no vuelvan)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas