Problema con access

Buenas tardes. Estoy haciendo un sistema de facturación sencillo en access y tengo un problema. Yo cojo el campo "cantidad" y el campo " valor unitario" y los multiplico con una función pero este dato no queda almacenado en la base de datos. Igualmente pasa esto con el valor total ( que es la suma de vrtotal1+vrtotal2 ...

5 Respuestas

Respuesta
1
Bien, eso es así, el camino alternativo que tienes es:
a) Si solo lo necesitas para consultas o informes, creas una consulta y lo calculas allí.
b) Si necesitas el dato en una tabla te recomiendo que realices una tabla solo para carga, luego creas una base idéntica + los campos por ejemplo sub total y otra total.
Ahora realizas una consulta de anexar datos donde rescatas los datos de la tabla de carga, realizas las funciones y lo anexa a la tabla completa.
Luego realizas una consulta de eliminación para borrar los datos de la tabla de carga.
Ahora realiza una macro donde anexa datos y elimina la tabla.
Respuesta
1
Deberías crear los campos en las tablas. Ahora para mandar el valor que es una multiplicación o cualquier operación debes utilizar macros o un poco de programación.
Si quieres dame un email, y te mando un ejemplo.
Att:telemaco
Gracias me ha sido de mucha ayuda
Me gustaría que me enviaras el ejemplo. Mi email es [email protected]. gracias por la atención
Ya te envíe los archivos me avisas.
Att:telemaco
Respuesta
1
Hace mucho que no me dedico a consultas Access, espero que la respuesta sea la que buscas.
Si tenés un textbox donde se muestra el total (por ejemplo textbox11) en las propiedades del Formulario, evento 'Después´s de insertar' elgí 'procedimiento', clic en los puntitos, y en la ventana del Editor, entre el Private Sub y End Sub colocá esto:
[Total].value = Forms!nombredelformulario![textbox11].value
Si en lugar de un textbox utilizás variables reemplazá el nombre del control por el de la variable.
Total es el nombre del campo que tendrá tu tabla donde quieras guardar estos totales.
Respuesta
1
Todo campo que quiera almacenar en la base de datos debe tener como 'source' un campo en la base, es decir, un campo cuyo origen de control es '=cant * tot' no va ningún lado, solo se ve en la pantalla.
La solución es tener código en VBA en los eventos de afterupdate de cantidad y valor unitario de la siguiente manera:
sub cantidad_afterupdate
vrtotal = cantidad * [valor unitario]
end sub
El origen de vrtotal debe, de nuevo, ser un campo en el recordset.
Para el total general se debe tener una función '=sum(cantidad *[valor unitario]) y tener un campo escondido (no visible) que permita almacenar su valor en la base de datos.
sub Form_afterupdate
doevents ' para dar tiempo para el calculo del control de suma
total = totalVisible
end sub
Nota: un buen formulario de facturación es de los procedimientos más elaborados que existe.
Veo que esos sistemas son muy complicados. ¿Tienes por casualidad un ejemplo de facturación? Muchas gracias de antemano por la ayuda
Ok. Muchas gracias por toda la información
Si lo tengo, pero es un producto de nuestra linea de negocio que se llama SGA y que puede conseguirse en Colombia a través de una empresa que se llama Ittasa en Bogotá.
Respuesta
1
Camilo un campo calculado en Access que ha creado con el generador queda en la consulta, no aparece en los formularios que haya creado antes de hacer la operación, por lo tanto debe volver a hacer los formularios o insertar el campo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas