Access - Copiar un cuadro de texto de un form a otro

   
Vista:

Copiar un cuadro de texto de un form a otro

Publicado por Conopia (1 intervención) el 07/04/2015 18:57:40
Hola a todos,
Llevo una semana atascada en mi base de datos, buscando por internet y probando de todo y no he conseguido resolver mi problema.

Os cuento, tengo dos tablas Clientes y Factura, ambas con un cuadro de texto que es nombre_cliente.
He creado un formulario en el que se ven los datos de los clientes y un boton que al hacer click me crea una factura nueva, pero quiero que me coja el nombre del cliente y lo inserte en el formulario de factura automaticamente y que el foco pase directamente a la fecha.

Espero respuesta, muchas gracias de antemano a todos.

Conopia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Toni

Copiar un cuadro de texto de un form a otro

Publicado por Toni (129 intervenciones) el 08/04/2015 23:18:48
Hola que tal,

Es muy sencillo, sólo has de indicarle al campo que tienes en el formulario de factura que su origen de datos sea lo que hay en el campo del formulario de Clientes. Puedes hacerlo de varias formas.

Si el formulario de clientes no lo cierras, entonces en el formulario de facturas seleccionas el campo del nombre del cliente, vas a la pestaña de Datos, en la primera opción "Origen del control" si pulsas en los (...) tres puntitos que hay accedes al "Generador de expresiones" (trastéalo un poco y verás que es muy útil), con eso navegas por los formularios cargados, seleccionas el tuyo que corresponda a Clientes y luego a la derecha escoges el campo de texto que tiene el nombre, en definitiva te tendría que quedar en dicha casilla de "Origen del Control" lo siguiente:
(ponlo a mano si no te aclaras con el Generador de expresiones).

= Formularios![NombreDeTuFormularioDeClientes]![nombre_cliente]


Pruébalo y verás que funciona, no obstante si el formulario de facturas tiene como origen de datos la tabla de facturas puede que esto te cause algún problema ya que estás desvinculando esa caja de texto de su campo en la tabla correspondiente, yo optaría por esta segunda forma que te indico:

Sería darle el valor en algún momento cuando se carga, se abre o sencillamente se crea esa nueva factura, de esa manera no interfieres en su origen de datos de la tabla y sólo le asignas el valor que te interesa al pulsar el botón, puedes probar a incluir este código en el botón que tienes al crear la factura, ponlo al final de lo que tu tengas en dicho botón.

1
Me.nombre_Cliente.Value = Forms![NombreDeTuFormularioDeClientes]!nombre_cliente.Value


funcionará si el formulario de Clientes no se ha cerrado al abrir el de facturas, si se ha cerrado entonces tendrías que pasarle el valor a una variable pública para que no se perdiera. Un consejo muy personal es que los nombres de los campos no sean exactamente igual en diferentes tablas, al menos a mi me ocasionaría confusiones ya que es difícil identificar el campo a qué tabla pertenece en cada momento, (es sólo un consejo).

Lo de pasar el foco al campo que quieras es:

me.TuCampoFecha.setfocus

Si no te aclaras mándame tu base o dímelo y te mando un sencillo ejemplo.

Saludos.
Toni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar