Access. Relleno de una tabla "Remito" desde dos formularios distintos

Comunidad todoexpertos. Tengo el siguiente problema. Necesito tener dos Formularios distintos en el cual en uno ingrese los remitos de ventas y en el otro los remitos de devolución. Todos los datos ingresados deberían quedar guardados en una misma tabla llamada "Remito".

Por el momento tengo creado un Formulario "Remito" que fue creado desde la tabla remito en donde cargo los remitos que son de venta y los que son de devolución y cuando es una devolución en el campo observaciones selecciono el valor = Devolución o Venta según corresponda

2 Respuestas

Respuesta
1

Si tu correo sigue siendo el mismo de antes te mando un ejemplo.

Respuesta
1

Si de la misma tabla se desean obtener diferentes conjuntos de datos, solo hay que filtrar (en cada formulario) por el dato que distingue conjunto (el campo 'observaciones ').

Me plantearía añadir un campo mas que puede ser booleano (Si/No) y que tomaría por defecto el valor adecuado (el formulario de ventas lo pone Si y el de devoluciones a NO).

En el entorno actual, solo se precisa filtrar por Venta/Devolucion que se puede hacer mediante una consulta (una para cada formulario como origen de datos en lugar de la tabla) o bien aplicando el filtro al formulario.

Concuerdo con todo lo que decís la idea es tener un poco más acomodado todo el ingreso de datos y si una persona ingresa una devolución que solo tenga que hacer el ingreso de datos ese formulario en particular para que no tenga que seleccionar de un checkbok que el producto es una devolución. Como vos decís la idea es, luego de la carga de datos, una consulta en donde poner ciertos parámetros para saber cual fueron las devoluciones de cierto cliente por ejemplo

Sospecho que mi observación no parece que quedase clara.

En base a un mismo conjunto de datos, se pueden crear diferentes formularios y cada uno de ellos presentar o manipular solo un subconjunto de ellos.

Formulario de ventas: una consulta que seleccione aquellos que sean ventas y que al crear uno nuevo se le adjudique el parámetro venta (active el campo que lo diferencia como tal)

Otro formulario para las devoluciones que puede ser copia del anterior, pero solo presenta o manipula a los que 'no sean ventas' y se distingue porque el campo (que antes estaba activado) ahora esta desactivado y si se crea un registro nuevo, lo crea con el campo desactivado.

La diferencia esta en el origen de datos, en uno filtra por la cualidad ventas (y la activa en cada registro que crea, asignándole la cualidad, el campo puede quedar oculto)

En el de devoluciones ... su origen de datos (incluso el mismo de las ventas) lo condiciona por el parámetro (campo/valor) que lo distingue como no-venta.

Ambos son independientes y pueden estar abiertos al mismo tiempo sin interferencias, si bien es cierto que provienen de la misma tabla, los registros no se comparten (solo se almacenan juntos).

Tampoco veo problema en crear una nueva tabla (copia de la actual) y ambas (que son gemelas) no comparten nada, a la hora de utilizar sus datos de forma conjunta, una consulta de unión a la que un campo mas que se crea en tiempo de ejecución, marca las ventas (activa el campo que las diferencia) o lo desactiva en el caso de las devoluciones.

Como ejemplo de la tabla común:
(campoxxx =Booleano que diferencia ventas y devoluciones)

Select * From detalle_remito Where (campoxx =-1); ===> ventas
Select * From detalle_remito Where (campoxx = 0); ===> devoluciones

Caso de tablas (idénticas) una ventas y otra devoluciones que se desean juntar para crear consultas:

Select * , -1 As Tipo From detalle_remito
Union
Select *, 0 As Tipo From detalle_remito;

Atención: esto es un ejemplo que devolverá los registros dos veces:

.- Una con el campo Tipo activado
.- Otra con el campo Tipo desactivado
Pues no hay condiciones en ninguna de las dos consultas.

(Espero que veas la idea y no te cree mas dudas que soluciones), en cualquier caso para las dudas esta el foro y alguien mas puede aportar una idea que te sea mas fácil adaptar en tu aplicación si esta no lo logra.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas