Copiar registro especifico de una tabla a otra con sql

Lo que quiero es copiar un registro especifico de una tabla a otra uso esto

CurrentDb.Execute "INSERT INTO DetalleVenta (Nopieza,cantidadv) SELECT Codigo,Cantidad FROM Venta WHERE Id = Id", dbFailOnError
Me. Requery
DoCmd. GoToRecord,, acLast

Pero me trar todos los regisros con ese código y quiero uno en especifico con el id que este trabajando en venta lo inserte a detalle venta

1 respuesta

Respuesta

Si te he entendido bien, quieres copiar los registros cuyo ID sea el mismo que tienes en pantalla en un formulario, en el cuadro de texto llamado Id.

Para eso usa esta sintaxis:

CurrentDb.Execute "INSERT INTO DetalleVenta (Nopieza,cantidadv) SELECT Codigo,Cantidad FROM Venta WHERE Id = " & Me.Id, dbFailOnError

Un saludo.


Lo e probado amigo y no me genera nada no pasa datos de una tabla ala otra

Ni da error

CurrentDb.Execute "INSERT INTO DetalleVenta (Nopieza,cantidadv) SELECT Codigo,Cantidad FROM Venta WHERE Id = " & Me.Id, dbFailOnError

De la tabla venta quiero pasar ala tabla detalleventa

Ejemplo

Venta

id      código     cantidad

01      xxxx1           3

02      xxxx1           5

DetalleVenta

Id    Nopieza    cantidadv

01      xxxx1           3

solo quiero pasar el id 01 luego el 02 y así sucesivamente

por que esa  de detalleventa luego la comparo con producto para que me descuente  

tbProductos.CantidadP-DetalleVenta.cantidadv

uso esto 

'CurrentDb.Execute "UPDATE tbProductos INNER JOIN DetalleVenta ON tbProductos.CodigoProducto = DetalleVenta.Nopieza SET tbProductos.CantidadP =tbProductos.CantidadP-DetalleVenta.cantidadv WHERE tbProductos.CodigoProducto = DetalleVenta.Nopieza", dbFailOnError
' MsgBox "VENTA REALIZADA" & vbLf & vbLf & "Aceptar para imprimir factura.", vbInformation, "Aviso"

pero como el proplema lo tengo al 

CurrentDb.Execute "INSERT INTO DetalleVenta (Nopieza,cantidadv) SELECT Codigo,Cantidad FROM Venta WHERE Id = " & Me.Id, dbFailOnError

Ya que me copia todos los registros con el mismo código

saludos...

Sinceramente, no he entendido casi nada de tu explicación...

Si tienes un formulario Venta con un campo Id y usas el código que te dije:

CurrentDb.Execute "INSERT INTO DetalleVenta (Nopieza,cantidadv) SELECT Codigo,Cantidad FROM Venta WHERE Id = " & Me.Id, dbFailOnError

Si estás en el registro con el ID=1, te insertará en la tabla DetalleVenta solo los datos correspondientes al registro del Id=1 de la tabla Venta, si estás en el regsitro con el ID 2, solo te insertará los datos del registro con ese Id en Ventas, pero nunca te va a insertar todos los registros que tengas en Ventas (a no ser, claro, que tengas más código por ahí y lo haga)

Si quieres sube una copia de tu BD con las dos tablas y los dos formularios y unos datos inventados y le echo un vistazo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas