Control calculado a campo en tabla cuando hay varias líneas

Tengo un formulario "ALBARANES" con un subformulario "LINEAS DE ALBARÁN". Cada uno basado en una tabla.

El Formulario líneas de albarán se autorrellena con un cuadro de texto. A partir de un número de reparación, me da descripción, metal e importe. Cada registro tiene un ID_líneas_alb.

Tengo un control independiente que me calcula la suma de los importes "TOTAL"y otro que me calcula la suma del metal "TOTAL_METAL". Luego tengo los campos, de la tabla, donde quiero que se me almacenen estos datos: "IMPORTE_TOTAL-LAB" Y "TOTAL_METAL_LAB" Lo he intentado una infinidad de veces, sobre todo con una respuesta que diste de crear un evento, lo que me ocurre, es que efectivamente me lo calcula, pero varía para cada línea de albarán y yo necesito que exclusivamente me de el total para luego poder anexarlo a la tabla de albaranes.

Es decir, yo pretendo tener una tabla que me de:

Nº Albarán, Fecha, Cliente, Total_metal_alb, Importe_total_alb

Donde total metal e Importe, que son campos de la tabla albaranes me tomen el valor de los campos calculados que a su vez están en el subformulario y que a su vez los introduce en su tabla correspondiente.

No se si me he explicado bien, pero en resumen, si yo pongo el evento, por ejemplo en el cuadro combinado del que elijo el nº de reparación, al perder el enfoque, Me.total_metal_lab=Me.Total_metal

Resulta que en cada línea me calcula hasta la línea a no ser que vuelva sobre los campos y vaya perdiendo el enfoque.

Creé un botón con este evento, pero para que me lo calcule en cada línea, también tendría que darle al botón en cada línea o no me calcularía nada...

En fin.. No se si hay una forma más fácil de hacer todo esto, llevo varias semanas perdidas y ya me estoy desesperando..

1 respuesta

Respuesta
1

Haber si te entendí lo que tu quieres es que los campos "IMPORTE_TOTAL-LAB" Y "TOTAL_METAL_LAB" se almecenen en la tabla que tiene los siguientes campos Nº Albarán, Fecha, Cliente, Total_metal_alb, Importe_total_alb. Si es así lo podrías realizar a través de ADO.

Ejemplo

Dim Insertar As ADODB.Command
Set Insertar = New ADODB.Command
With Insertar
.ActiveConnection = CurrentProject.Connection
.CommandText = "INSERT INTO TablaPretendida([Nº Albarán], Fecha, Cliente, Total_metal_alb, Importe_total_alb) " & _
"Values(" & txt.NumeroAlbaran & ",#" & Me.txtFecha & "#,'" & Me.txtCliente & "'," & Me.TotalMetalAlb & "," & Me.ImporteTotalAlb & ");"
.Execute
End With
Set Insertar = Nothing

Esto lo puedes colocar en un botón de comando, en el evento hacer click

Hola, pues me dejas en blanco.... Tengo la base de datos casi terminada, pero hecha con Access 2010 y con algunos eventos en Visual Basic, no tengo ni idea de ADO, he visto comentarios y he buscado pero todo lo que veo es como muy superfluo, por no saber, no se ni cómo conectarme con ADO, intentaré buscar algo mas sobre este programa para no dar mucho la lata y si tengo que preguntar poder ser mas específica. A ver si soy capaz de poner este código en algún sitio...

Mil gracias, seguramente seguiré dando la lata con este hilo porque ando desesperada con los albaranes...

Si quieres puedes mandarme la base de datos y la reviso, también si te interesa te dejo mi blog es un curso sobre ADO

[email protected]

Www-todoaccess.blogspot.com

Si??? sería estupendo!!, pero cómo te la paso? sería muy pesada por mail, podría subirla a dropbox o algún sitio así, te parecería bien?

Me apunto a tu curso de ADO en tu blog!

Muchísimas gracias!!

La he dividido y te la he enviado por mail, a ver si hay suerte...

Bueno, sigo investigando... se me ha ocurrido hacer lo siguiente, a ver que te parece mientras ahondamos en tu forma de hacerlo...

En el evento "al cronómetro" le he puesto lo siguiente:

Private Sub Form_Timer()
Enabled = True
Me.Total_Importe_alb = Me.ALBARANES_JOYERIAS1.Form.TOTAL
Me.Total_Oro_Alb = Me.ALBARANES_JOYERIAS1.Form.TOTAL_ORO
End Sub

Pero no se me actualiza con cada línea aunque sí al salir del albarán, de momento seguiré mirando por esta vía tratando de solucionar que se me calcule con cada línea, qué te parece?

Esta bien me parece estupendo mientras yo revisare tu base que me mandaste si en dado caso no pueda verla en el hot mail la puedes subir a un servidor que mencionas y yo la descargo

Puedes por favor dar por terminada esta pregunta.

Hola, he estado sin internet unos días y por eso no he podido valorarla antes.

Muchísimas gracias, no sólo has resuelto mi problema sino que además me has aclarado todas las dudas. Por supuesto, no puedo decir otra cosa que excelente y mil gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas