Usar insert into en campos especificos

Estoy haciendo una modificación a un formulario en la cual me dieron el consejo de hacerlo con insert into para poder ayar valores de de una tabla he insertarlos en otra el código es el siguiente

Private Sub Elegir_AfterUpdate()
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into [Salida Inv]  select * from [entrada inv] where NRecibo='" & Me.Elegir & "'"
Me. Requery
Me. Elegir. SetFocus
End Sub

Pero cuando le doy al código me sale un error de un campo desconocido digamos ID_prenda al hacer pruebas me di cuenta que en el campo si existe en la tabla entrada inv pero no en el campo salida inv pero no existe por que no lo necesito hay.

Mi pregunta es se puede especificar los campos donde quiero insertar o hacer insert into y como lo puedo hacer para solo especificar esos campos y así poder insertarlos que necesito no más

2 respuestas

Respuesta
1

Puedes hacerlo de varias formas. Supongamos que estás en un registro concreto de un formulario. Puedes poner

Docmd. Runsql"insert into clientes(nombrecompañia, nombrecontacto, ciudad, pais)values(empresa, representante, lugar, region)"

Aunque por motivos de espacio lo pone en tres lineas en realidad es una.

Lo que hace es insertarte en la tabla clientes en los campos que están en el primer paréntesis, los datos de los cuadros de texto del formulario que están en el segundo paréntesis.

Lógicamente sólo te inserta un registro.

En el caso de que quisieras que fueran varios puedes poner

docmd.runsql" insert into clientes(nombrecompañia, ciudad, pais) select empresa, lugar, region from tabla que sea where Nrecibo='" & me.elegir & "'"

Respuesta
1

La lista del select debe coincidir con los campos de la tabla donde quieres insertar

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas