Soy de Chile y necesito ayuda con un código de Microsoft Access que me da error

Hola, saludos desde Chile, necesito por favor ayuda con un código que me da error
Tengo una tabla que se llama "Tabla_principal" y el formulario "GENERAL" con un campo independiente de la tabla el cual se llama "total" que suma otros 8 campos. En la tabla he insertado un campo que se llama "sumaVieneDeForm" donde necesito que se incluya la suma del campo "total" del formulario.
Adapté este código de otro post al botón que creé para meter la acción al hacer click para que el valor se pase a la tabla al campo "sumaVieneForm", pero me da un error, en la línea que marco en negrita, diciendo que los tipos no coinciden.
Viendo la ayuda del access he cambiado todas las propiedades tanto del campo de destino de la tabla, como del textbox independiente del formulario y no consigo que inserte el valor...
Podrías decirme cual es el error, ¿por favor?
Private Sub Comando143_Click()
Dim SQL As String
Dim total As Double
total = Forms("GENERAL").Controls("total").Value
SQL = "INSERT INTO Tabla_Principal (sumaVieneDeForm) VALUES ('" + total + "')"
DoCmd.RunSQL SQL
End Sub
Espero haberme explicado bien.
Gracias de antemano
Gustavo, elranuza . [email protected]

1 respuesta

Respuesta
1
¿Cómo se relacionan la tabla y el formulario? Quizá el error esté ahí y no en el código. Ya me dices.
Lo primero darte las gracias por responder.
El formulario viene de la Tabla_principal, no tengo mucha idea de esto y no sé si es a lo que te refieres. Antes lo tenía desde una consulta, pero lo hice todo de nuevo directamente desde la tabla a ver si era por lo que me comentabas, pero me sigue dando el mismo error...
Igual puede ser porque en las propiedades del campo de la tabla "sumaVieneDeForm", donde necesito que se ponga el valor de "total" del formulario y de todos los campos de donde viene la suma tienen una propiedad que es tamaño del campo que pone "Doble" y en el texbox donde hace la suma en el formulario no encuentro esa propiedad... (otras propiedades son requerido e indexado, que pone no... que tampoco la encuentro en el texbox de "total" del formulario).
No se si será algo de eso.
De antemano igual agradecerte la ayuda... por gente como vosotros que hace estas cosas desinteresadamente muchos podemos optar a un trabajo mejor.
Saludos.
Gustavo, elranuza
Te lo decía también porque si quieres que tu tabla tenga un campo que sea la suma de otros 8 puedes hacer una consulta normal y te ahorras problemas. Yo lo veo mucho más sencillo.
Creas una consulta de actualización basada en tu "Tabla_principal".
O, si lo quieres asociar al click del botón, cambia la instrucción SQL por
UPDATE Tabla_principal SET Tabla_principal.sumaVieneForm = [Tabla_principal]![uno]+[Tabla_principal]![dos]+[Tabla_principal]![tres]...  todos los campos que quieras de tu Tabla Principal
Al asociarlo a un campo independiente vas a tener más problemas si das tantas vueltas.
Ya me dices qué te parece la opción y si se ajusta a lo que deseas realmente. Yo tampoco soy un superexperto en la materia.
Hola otra vez... gracias por la respuesta.
Hice lo que me comentaste siguiendo la ayuda de access y lo sumé todo en la consulta. El problema es que no me puedo llevar el resultado de la suma a la tabla, que es lo que necesito ya que la tengo vinculada a un archivo excel donde tiene que aparecer... y claro, creo que no se puede vincular la consulta directamente o desconozco si puede hacerse.
Si sabes una forma de pasar el valor de la consulta a un campo de la tabla igual me valdría. De no ser así te agradecería me dijeras y lo que haría es dejar que sume en el formulario y al vincular la tabla lo sume en una celda excel.
Espero tus comentarios. Gracias otra vez!
Gustavo, elranuza
A mí si me sale, aunque haya una tabla vinculada. ¿Cómo has hecho la consulta?
Muchas gracias por tu interés.
Al final lo que haré será que la suma aparezca en el formulario aunque no pase a ningún campo de la tabla, ya que como después lo que hago es vincular los datos a un archivo excel hago la suma en él y ya está. Me dejo de líos con el access aunque sea dar un paso más.
Gracias otra vez, me fue de gran ayuda tu respuesta.
Un saludo.
Elranuza, gustavo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas