Sumar en un campo

Experto, un cordial saludo y de antemano gracias por la respuesta que me puedas proporcionar.
Es posible que si yo tengo un campo de tipo numérico en un formulario, pueda digitar 50+20+80 y al presionar enter me arroje el resultado en éste mismo, similar como en exel, gracias de nuevo.

1 respuesta

Respuesta
1
Los campos access se diseñan con un formato de tipo de datos, por lo que en el momento en el que incorporas en un campo diseñado como numérico cualquier carácter alfanumérico dan error.
La solución sería incorporar el dato a través de un cuadro de texto que en el evento después de actualizar realizaría el cálculo de la suma.
He creado un código que suma un cuadro de texto denominado qCalculo tras ser actualizado:
Private Sub qCalculo_AfterUpdate()
Dim Largo As Integer
Dim Pasos As Integer
Dim C As Integer
Dim E As Integer
Dim PosSigno(10) As Integer
Largo = Len(Me.qCalculo)
Dim SumaNumero As Double
C = 0
E = 0
For Pasos = 1 To Largo
If Mid(Me.qCalculo, Pasos, 1) = "+" Then
    C = C + 1
    PosSigno(C) = Pasos - 1
End If
Next Pasos
PosSigno(C + 1) = 40
For E = 1 To C
    SumaNumero = SumaNumero + Val(Mid(Me.qCalculo, PosSigno(E) + 2, PosSigno(E + 1) - PosSigno(E) - 1))
Next
MsgBox SumaNumero + Mid(Me.qCalculo, 1, PosSigno(1))
End Sub
Lo que hace el código es buscar la posición de los signos MÁS, y después sumar los números por separado cortando el texto según las posiciones de los signos.
Seguro que se puede simplificar pero no se me ocurre otra solución.
Una aperta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas