Unir varios campos en uno con saltos de línea

Estoy perfeccionando mi base de datos y quisiera que me ayudaran con esto:

Tengo un form (Orden) con un subform (Orden - ManoObra) en el que voy añado registros. Quisiera que al pulsar el botón (CrearAlbarán) me copiara los campos del subform (Orden - ManoObra) a un campo del subform (Albarán - ManoObra) del form (Albarán)

En el botón CrearAlbarán tengo este código:

DoCmd.RunSQL "insert into Albaranes (NumOrden,IdVehículo,Fecha,[Km vehículo]) values (NumOrden,IdVehículo,Fecha,[Km vehículo])"
DoCmd.RunSQL "insert into [Albaranes - Mano de obra] select NumOrden,IdVehículo,descripción,cantidad,precio,total from [T - OT MO] where NumOrden='" & Me.NumOrden & "'"
DoCmd.RunSQL "update [Albaranes - Mano de obra] set IdAlbarán=dlast(""IdAlbarán"",""Albaranes"") where IdAlbarán is null"

Quisiera que copiara los campos en uno solo pero que por cada campo inserte un salto de línea para separarlos para que quedase como en esta imagen. Gracias por vuestra ayuda

1 Respuesta

Respuesta
1

Partiendo de la premisa que no se que relación hay entre las tablas, si la hay. Tampoco sé la relación entre formulario y subformularios, ni como están construidos, etc. Si tengo el formulario, con dos subformularios Una y Otra. En el subformulario Una tengo puesto un botón

Si pulso el botón comando3

El código del botón es

En caso de que ambas estuvieran relacionas por algún campo, la instrucción runsql podrías ponerla como

insert into...............cosa & "') where campo comun= loquesea"

Gracias Icue, así funciona pero quisiera adaptarlo a otro código que tengo:

Al pulsar un botón "crear albarán" me copia los datos de un form a otro, pero me copia todos los registros de "descripción" activos. ¿Cómo podría insertar tu código a este? Para que inserte los mismos datos que en la otra tabla pero "descripción" todos los campos en uno

DoCmd.RunSQL "insert into [Albaranes - Mano de obra] select NumOrden,IdVehículo,Descripción,cantidad,precio,total from [Orden - Mano de obra] where NumOrden='" & Me.NumOrden & "'"

Ya te he dicho que no sé como están construidas las tablas ni sus relaciones.

Por otro lado, si numorden e Idvehiculo ya los tienes en la tabla Albarán ¿Para qué repetirlos en Albaran Mano?

Si tengo el formulario Orden con un subformulario OrdenMano, ambos dependientes de las tablas del mismo nombre y relacionadas por NumOrden

Si pulso el botón Pasar a albaran y luego pulso el botón pasar a Albaran Mano, y o bien pulso el botón Abrir... o cierro el formulario y abro el formulario Albaran( en este caso he optado por pulsar el botón

En que, además, en el campo Total Albaran me pone la suma de los distintos "conceptos"

El código del botón pasar a Albaran es

Y el código del botón Pasar a Albaran Mano es

Gracias Icue. El código me funciona pero en los campos Cantidad, Precio y Total (Numéricos) no me copia nada. ¿Podría pasar el código del botón Pasar a Albarán Mano al botón Pasar Albarán? Es para que me lo haga todo automático

¿Puedo poner un dlookup en una sql update?

Vamos por partes, los campos numéricos no los puedes poner "en vertical", sólo campos texto, pero da igual que los pongas como texto, porque siempre puedes multiplicarlo por los que sea, y si no puedes usar la función

CInt o la función Val

Segundo, el botón del subformulario no lo puedes quitar porque es el que le dice que vaya al primer registro, etc.. pero si puedes poner todo en el botón Pasar a Albarán mano, sólo tienes que poner la instrucción del botón Pasar a Albarán como

docmd.runsql"insert into albaran(numorden,idvehiculo, etc) values('" & me.parent!numorden & "', " & me.parent!idvehículo & ",....)"

Y pegarla en el código del botón Pasar a Albarán Mano

Por último, claro que puedes usar la función Dlookup en una instrucción Update, por ejemplo

docmd.runsql"update facturas set Pais=dlookup(""pais"",""clientes"",""nombrecliente=" & me.nombrecliente & """)"

Funciona perfecto Icue. Solo me queda poder hacer que al pulsar el botón "Crear Albarán" me pulse el botón de "Pasar a Albarán Mano". He probado poniendo una función pública en en botón "Pasar a Albarán Mano" y llamándola desde el botón "Crear Albarán" pero no me funciona

Pregunto, ¿por qué poner dos botones? Es que no lo entiendo. Si tengo el formulario

Y pulso el botón

El código del botón es

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas