Relleno automático de campos en formularios

Me estoy volviendo loca, lo he intentado por activa y por pasiva, pero creo que el problema es que no entiendo mucho. Te explico.
Estoy intentando controlar las facturas pagadas y las pendientes de pago. Para ello he hecho un formulario llamado efectos para que me rellene una tabla en la que figure el proveedor, el vencimiento y el importe de un grupo de facturas. Mediante un combo, de la tabla proveedores selecciono el proveedor al que corresponde cada efecto. Este formulario tiene un subformulario llamado pagos, que pretendo que rellene otra tabla en la que figuren las facturas que se pagan y el efecto en el que se pagaron. He conseguido en el subformulario que aparezca el nombre del proveedor que ya seleccione en el formulario. Mediante un combo basado en una consulta de las facturas recibidas selecciono el numero de la factura que se paga (me salen todas, aunque yo querría que salieran solo las que no están en la tabla pagos) y el resto de los campos del subformulario se pueden rellenar automáticamente al haber seleccionado el numero de la factura, pero... No hay forma chico, el formulario esta basado en la tabla efectos, el subformulario en la tabla pagos y el combo del numero de factura en una consulta sql sobre la tabla facturas de proveedores. Supongo que ahí esta el error, pero tampoco lo se. Voy aprendiendo access a mi aire, y seguro que hay conceptos que no tengo nada claros, pero tampoco encuentro documentación donde cuenten esas cosas básicas para no mezclar higos con patatas.
en fin.. ¿podrías echarme un capote con ese maldito formulario?
1

1 Respuesta

60.850 pts.
Vamos pasito a pasito...
La tabla de proveedores entiendo que está correctamente definida..
La tabla de facturas también..
La que no está correcta, en mi opinión, es la de efectos..
En el momento de generar una factura, debería generarse también el efecto... en la tabla de efectos te faltarían como mínimo dos campos... Fecha Cobro y Cobrado. (Aunque mirando finamente, con la de fecha de cobro sería suficiente) En esta tabla también deberías tener una relación con el proveedor y con la factura. El combo que indica el numero de factura a pagar, no debe ir contra las facturas, sino contra todos los efectos pendientes de cobro... Por ejemplo:
"SELECT * FROM tblEfectos WHERE FechaCobro = Null AND IdProveedor=" & Me.IdProveedor
ó
"SELECT * FROM tblEfectos WHERE Pagado=False AND IdProveedor=" & Me.IdProveedor
Entendiendo que IdProveedor es el Id del proveedor seleccionado en el combo de proveedores.. Substituye los campos que yo indico por los que tú utilizas...
Tu pregunta... ¿y cómo doy de alta un efecto en el momento de generar una factura?
No sé cómo das de alta la factura... entiendo que puedas tener una consulta que te da el valor total de la factura, impuestos incluidos, con la fecha de vencimiento, etc...
Dim strSQL as string
StrSQL="INSERT INTO tblEfectos (Lista de Campos Separados por comas) VALUES (Valores para los campos separados por comas)"
Ejemplo:
strSQL="INSERT INTO tblEfectos (CodigoFactura, FechaFactura, NombreProveedor) VALUES (" & _
Me.CodigoFactura & ", " & _
"#" & format(Me.FechaFactura,"mm/dd/yyyy") & "#, " & _
"'" & Me.NombreProveedor & "')"
Te he puesto los tres tipos de datos que te puedes encontrar... numérico, fecha y texto... fíjate que cada uno de ellos se indica de distinta forma...
Espero no haberte liado demasiado, :)
Saludos.
Jordi Pérez i Madern
Mataró (Barcelona)
A ver, te cuento. Lo que tengo, la base de datos, realmente es un churro, no esta hecha en access. Es una aplicación estándar (calculo que del año la polca) con las tablas en dbIII, no en access. Yo las he vinculado a access, para poder trabajar allí, y las tengo llenas de trampas, porque ni me deja tocar las tablas por estar vinculadas, y las relaciones brillan por su ausencia. No se si esto tiene arreglo, o si puedo vincular de forma genial las tablas para que vinculen también las relaciones que obviamente deben tener en alguna parte.
Bien, dicho esto... entiendo lo que me dices en código, pero... por partes.
Dim strSQL as string
strSQL="INSERT INTO tblEfectos (Lista de Campos Separados por comas) VALUES (Valores para los campos separados por comas)"
Esto, que intuyo que es para que me pase los valores de la tabla facturas a la tabla efectos (en la mía seria pagos, es donde están las facturas pendientes de pago (eso me gustaría, claro) esperando a ser agrupadas en un pagare). O sea, que cree directamente la tabla pagos. pero... ¿dónde pongo este código? ¿Tengo qué hacer antes una consulta entre la tabla pagos (ahora vacía) y la tabla facturas (llenita?)
Espero que sepas disculpar mi ignorancia y que te quede algo de paciencia para mi ;-). Gracias madern
Perdona el retraso..
Este código deberías ponerlo en el proceso que utilices para generar la factura.
Una vez generada la factura es cuando deberíamos ejecutar la función que te pasé.
Saludos.
Jordi Pérez i Madern
Mataró (Barcelona)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas