Actualizar un texbox al escribir en otro

Tengo dos formularios en Access, uno de búsqueda y el otro para imprimir, para poder llenar este ultimo, lo hago mediante la Expresión: =Formularios![Bautismos]![Libro] y me funciona bien, pero al cambiar los datos en el formulario de búsqueda, no cambia los datos en el formulario imprimir.

Ayudadita

2 Respuestas

Respuesta

Lo que yo entiendo es que tienes un campo independiente para realizar la búsqueda y un subformulario dependiente del valor del campo independiente.

Si este es el caso, entiendo que deberías hacer un requery del subformulario en el evento afterupdate del campo independiente.

Sin más información sobre tu caso es un poco difícil orientarte mejor

¡Gracias! Icue

No estaba tan difícil para Ti, esa es la solución.No soy un experto pero gracias a Dios me entendiste, te aprecio mucho.

Respuesta
2

No dices que instrucción usas para abrir el segundo formulario y si éste queda abierto "por encima" del anterior. Tampoco dices el porqué cambias los datos en el de Búsqueda. Lo digo porque, si en este formulario utilizas un control, sea cuadro de texto, sea combinado, para que te localice un registro en el segundo formulario, usarás, en el evento Después de actualizar del control, algo como

docmd.openform"busqueda",,,"libro ='" & me.nombredelcontrol & "'"

Con lo que si luego cambias el valor en el control de búsqueda, es como si lo "actualizaras" y se vuelve a ejecutar la instrucción.

Ya te digo que sin saber como están hechos, también podrías usar en el evento Al activar registro(que no sé como funciona) del segundo formulario

If currentproject.allforms("busqueda").isloaded then

textoX=forms!busqueda!nombredelcontroldebusqueda

end if

En fin, que si pudieras concretar más la respuesta podría ser más acertada.

Mira Icue

Con la instrucción que te mencioné copio los datos del formulario de búsqueda en el formulario imprimir, pero realizo otra búsqueda y el  formulario imprimir no cambia los datos.

El formulario de búsqueda se llama Bautismos; el Formulario segundo se llama Imprimir, son independientes y los texbox también independientes y tienen los mismos nombres, ejemplo libro. Lo que quiero es que cuando realizo una nueva búsqueda también el formulario imprimir actualice los datos.

Gracias, es que soy un viejo ya de 70 años y tal vez te esté pidiendo mucho.

Vamos a ver si lo he entendido. Te pongo dos ejemplos. Uno con formulario y subformulario independientes y otro con dos formularios

1º Supongamos que tengo un formulario con un cuadro combinado donde elijo un país. Te recuerdo que son independientes.

Si elijo Alemania

Y si acto seguido elijo España

2º Tengo el mismo formulario y elijo el pais

Y me abre, en vista diálogo, el formulario Clientes, sólo con aquellos registros cuyo pais sea Estados Unidos

En el ejemplo1, el código del evento Después de actualizar del combinado, al que he llamado Elegir

Private Sub Elegir_AfterUpdate()
Me!Clientes.Form.RecordSource = "select * from clientes where pais ='" & Me.Elegir & "'"
End Sub

El el segundo caso, le digo que

Private Sub Elegir_AfterUpdate()
DoCmd.OpenForm "clientes", , , "pais='" & Me.Elegir & "'", , acDialog
End Sub

Disculpa Icue

Voy a tratar de plantearte mi ejemplo:

Tengo dos formularios de nombre Bautismos e Imprimir. El primero es de búsqueda con cuadros de texto y un cuadro combinado. El segundo con los mismos cuadros de texto y datos, como puedes observar a continuación:

     BAUTISMOS

NOMBRE    JUAN                                                                                                          LIBRO            1                                                                                                              FOLIO            2

      IMPRIMIR                                                                                                                NOMBRE     JUAN                                                                                                  LIBRO             1                                                                                                              FOLIO             2

Por medio de esta Instrucción: =Formularios![Bautismos]![Libro] copio automáticamente el numero 1 del campo libro del formulario Bautismos en el campo libros del form Imprimir y así con los otros dos campos Juan y 2.

Pero resulta que cuando yo busco otro registro en el form Bautismos; el formulario Imprimir no se actualiza, sigue con los mismos datos del primer registro buscado.

entonces mi ayuda es que al momento de buscar un nuevo registro en el form Bautismos, también cambie en el form Imprimir.

Gracias mi hermano, y si no me rindo.

Por más que lo leo, entiendo menos. Supongo que tendrás una tabla con los campos, entre otros, Nombre, libro y folio. Cuando vas a bautizar a alguien supongo que lo anotarás en un formulario(lógicamente basado en la tabla antes citada). Entonces ¿para qué un formulario de búsqueda? Si lo puedes hacer desde el propio formulario. Venga, vamos a suponer que quieres tener un formulario de búsqueda. ¿Para que poner cuadros de texto donde tienes que escribir el nombre, con el riesgo de equivocarte cuando puedes poner un combinado donde eliges el nombre y así no hay equivocación posible. Si ya has elegido el nombre ¿para qué poner un cuadro de texto para Libro? Un nombre está asociado única y exclusivamente a un libro y un folio. ¿Que hay dos personas que se llaman igual. El propio formulario te mostraría los dos registros que cumplen esa condición. Sólo tendrías que seleccionar uno.

¿Un formulario para imprimir? Los formularios son la forma cómoda de pasar datos, sean escritos sean calculados, a las tablas. Lo normal es imprimir un informe, que para eso sirven y están diseñados. Si lo que tiene que imprimir es una hoja de bautismo, lo lógico sería hacerlo en un informe.

En fin, y así hasta...

Supongamos que tengo una tabla Tabla1

Solo rellené los 15 primeros. Acuérdate de los datos de Antonio Moreno

Y tengo ese formulario que dices con cuadros de texto independientes y un botón(ya que no sé en que evento quieres abrir el formulario Imprimir)

Al pulsar abrir( me abrirá el formulario Imprimir, que lógicamente está basado en la tabla1), sólo con el registro que cumpla esas condiciones

Lo que le digo en el código del evento Al hacer clic del botón es 

Private Sub Comando6_Click()
DoCmd.OpenForm "imprimir", , , "nombre='" & Me.Nombre & "' and libro=" & Me.Libro & " and folio= " & Me.Folio & "", acFormReadOnly, acDialog
End Sub

Pero hasta que no cierres el formulario Imprimir no puedes cambiar los valores de los cuadros de texto del formulario Bautismos porque el formulario Imprimir, al abrirse, se ha convertido en el objeto activo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas