¿Es posible suma de registro especial en access?

Que dudo sea posible resolver de manera sencilla, me explico. Hay posibilidad, de sumar en access cuando un registro esta de la siguiente manera. El registro a sumar seria el de tcajas. Si no fuera posible, ¿se puede hacer campo calculado? Si no fuera así ¿qué solución tendría?

Gracias por todo, espero alguna solución.

Respuesta
1

José Mª. Esta pregunta me ha salido sugerida y es muy posible que vaya conectada con otra que te acabo de contestar y que vista ´desde aquí no sé si mi contestación es adecuada.

Para ésta lo único que a mi se me ocurre es hacer una función personalizada, que actualice los registros donde haya un signo +, extrayendo los factores y sumando en esa función.

Yo me tomo nota porque ando un poco liado, y si veo que en un par de días no lo has resuelto intento hacer alguna prueba. Un saludo >> Jacinto

Gracias Jacinto es la misma, enfocada de otra manera, gracias de nuevo.

un saludo

José Mª: Al final creo que es bastante más simple de lo que inicialmente pensaba.

Imagino que el control del Formulario donde entras el 5+5+5 se llama TCajas

Entonces genera el evento AfterUpdate y pones:

Private Sub TCajas_AfterUpdate()
Me.TCajas = Eval(Me.TCajas)
End Sub

Y te valdrá para cualquier valor con signos que entres, para otros usos. De manera que si pones >>

25 -3 +(18/6) te saldrá 25. Eso es válido para nuevas entradas. Si es que ya tienes muchos valores entrados, me comentas y miraría de hacer algo lo más simple que se me ocurra. Saludos >> Jacinto

Excelente Jacinto, pero ahora se habré otro problema, etos datos los ingreso desde un formulario, y ocurre lo siguiente: Si le pongo tipo numérico, no me deja ponere lo que necesito ejm. "2+2+3" y si le pongo tipo texto, no me saca luego los totales de la columna. ¿Complicado verdad?. Necesito tu ayuda . aun así machas gracia

Un saludo

José Mª: Ahora acabo de ver tu ampliación de la pregunta, y la solución más inmediata que se me ocurre es la siguiente.

A: En la tabla convierte el Campo TCajas en tipo numérico. Si tienes muchos valores con el formato 5+3+6+2 los vas a perder salvo que no los actualices antes. Puedes usar el Eval en una consulta de Actualización, antes de pasarlo a Número

B: En el Formulario deja ese Control TCajas como Independiente, lo renombras a por ejemplo a TCajasEntrada y no le pongas formato

C: Añade un "Control" que puede estar oculto para recoger la Suma y que si llamaremos TCajas y que será el que esté "Vinculado al campo de la Tabla TCajas.

D: El código cambia pero solo ligeramente y será >>

Private Sub TCajasEntrada_AfterUpdate()
Me.TCajas = CInt(Eval(Me.TCajasEntrada))
End Sub

Un saludo >> Jacinto

1 respuesta más de otro experto

Respuesta
1

Es fácil

Hola Icue . Correctisimo, asi seria aprox , ruego tu ayuda gracias de nuevo

Supongamos que tengo una tabla a la que he añadido 2 campos( se podría hacer con uno, pero sería menos didáctico)

Con ella hago un formulario continuo, pongo el cuadro de texto Valor como oculto y le pongo encima el cuadro de texto Cambio y en el pie del formulario le pongo un cuadro de texto, que recogerá la suma de cajas

Al abrirlo y poner datos

El código del evento Después de actualizar del cuadro de texto Tcajas es

En caso de que se pusieran mas valores, tipo 3+4+5+6 habría que ir añadiendo condiciones Else if len=4...

Hola Icue, muy complicado para mi, porque ademasesos valores de suma, no son siempre 3 o 4

Sino que pueden ser muchos más.Así que de esta manera imposible. Pero gracias.Aun así he conseguido que esa sumase haga efectiva en la tabla, lo que ocurre es que tiene que tener tipo texto porque numérico no deja poner el signo +, y claro en la tabla no suma. ¿Alguna idea?

Gracias de nuevo

Al no saber como está construida la base sólo puedo opinar por la imagen. Por ejemplo, sin saber como está hecha, lo que haría sería poner un formulario con subformulario y cuando en el subformulario se repitiera la tienda y el día haría la suma acumulada de las cajas

Lo que hacer es sumar las diferentes cajas que se mandan un día determinado a una tienda determinada. Luego, si quisiera saber el "total", aunque lo estoy viendo en el último registro, siempre podría usar la función Dlast

Gracias Icue tu ayuda ha sido importante . Al final he sido poco arrtodocso, y he aplicado algo sencillo, te lo cuento para un futudifinitivo ro caso. En la consulta he hecho dos cañpos calculados, uno

Caja:[tcajas]+1, y uno y definitivo Resultado:[caja]-1 .entiendo que no es muy ético, pero si muy efectivo. Gracias de nuevo

Si a ti te funciona ni mil palabras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas