Pasar registros de una tabla a otra en access

Tengo una tabla de ingresos de productos a bodega con esta estructura

tabla Ingresos_bodega 

Idingresos autonumérico Pk

NumDocum Texto Corto

Producto Numero

Bodega Numero

Fecha echa corta

Cantidad Numero

Cliente Texto Corto

Proyecto Numero

En donde puede haber muchos registros con el mismo número de documento (NumDoc)

Deseo pasar esos registros que tengan el mismo número de documento a una tabla de egresos con esta estructura.

tabla Egresos_bodega 

Idegresos autonumérico Pk

NumDocum Texto Corto

Producto Numero

Bodega Numero

Fecha echa corta

Cantidadegreso Numero

ClienteDestino Texto Corto

ProyectoDestino Numero

Y que la cantidad del producto de cada registro se reste el valor de Saldo_Canti de la tabla productos con esta estructura

Tabla Productos

IdProducto Autonumerico Pk

Codigo Numero

Descripcion Texto Largo

Precio Numero

Saldo_Canti                                     numero

Las tablas de ingreso y egreso están relacionadas con productos.

Y necesito hacer un programa que me permita hacer eso

3 respuestas

Respuesta
1

Lo puedes hacer de mil formas. Por ejemplo, en algún evento, por ejemplo otra vez, puedes poner algo como

Docmd.setwarnings false

docmd.runsql"Insert into IngresosBodega(campoa, campoB, campoC,....) select (textA,TextB,TextC from ..... where NumDoc=[Que Numdoc quiere trasladar]"

De forma que cuando pulsaras el botón te preguntaría lo de Que... Una vez que lo escribas y pulses Aceptar te pasa a la tabla IngresosBodega todos aquellos registros de la otra tabla en que su numdoc coincida con el que acabas de escribir.

Los campos de origen y destino no tienen porque llamarse igual, pero sí ser de datos iguales, texto con texto, número con número, etc.

También podrías seleccionar el numdoc

O bien, podrías usar una consulta de datos anexados o,,,,

Con respecto a la modificación de existencias en la tabla Productos, personalmente, lo haría cuando dé entrada o salida a los productos.

Lo mejor sería que pusieras unas imágenes de las tablas o si quieres, repito, si quieres, mándame una copia de tu base, con datos inventados, a [email protected] y te preparo un ejemplo.

Si lo haces, en el asunto del mensaje pon tu alias Vicente Alvear, ya que si no sé quien me escribe, ni los abro.

Respuesta
1

Personalmente lo haría por código mediante Recordset,

- Agrupo por NumDoc y sumo por el campo cantidad numero

- Recorro el recordset y voy insertando en la tabla de egresos

- Resto de Saldo_Canti de la tabla productos la cantidad agrupada.

Esto es una idea. Si quiere envíeme la base de datos a [email protected] y trato de colaborarle, para así no entrar en ejemplos que antes lo puedan confundir.

Respuesta
1

Según el esquema publicado, las tablas [Ingresos_bodega] y [Egresos_bodega] comparten su estructura y ambas se relacionan por su campo [producto] con la tabla [Productos] mediante su campo [código].

[Ingresos_bodega].[producto] <<==>> [Egresos_bodega].[producto] <<==>>[Productos].[codigo]

Si se hace al pie de la letra ese traspaso la diferencia entre ambas tablas: los registros sin duplicados en el campo [NumDocum].

Al ser tan pequeña la diferencia, añadir un campo más a la tabla [Ingresos_bodega] (puede ser booleano) delataría esa diferencia y sobra una tabla (el nuevo campo indica que el registro ha sido ¿procesado?).

Si se mantiene la actual estructura habrá que tener un cuidado exquisito para evitar duplicar el traspaso.

Curiosidad ¿las tablas tiene este propósito?

[Ingresos_bodega] ==> solicitudes de productos u ofertas

[Egresos_bodega] ==> solicitudes de productos u ofertas ya procesados

Un apunte:
Calcular [Saldo_Canti] de esa forma en lugar de calcularlo con los datos reales (entradas-salidas en la/las bodegas) puede dar lugar a errores.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas