Actualizar formularios.

Hola, buen día jorgebrasili
Mira estoy estoy conociendo este mundo de ACCESS, tengo el siguiente problema. Tengo una tabla llamada clientes y otra llamada alquiler, cree un formulario para alquiler y coloque un cuadro combinado dentro del formulario que me permitiera seleccionar un cliente y de esta forma saber que equipos en alquiler tiene determinado cliente, el problema es el siguiente. Cuando selecciono una cliente el formulario no se actualiza de forma inmediata para ver el cambio debo actualizarlo desde el iconode actualizar todo propio de access el filtro lo hace bien. Lo que quiero es que cuando seleccione el cliente se actualice de forma inmediata los registros en el formulario. Mi base de datos la trabajo con access 2007. E intentado colocando un evento al cuadro combinado Me.requery pero no se si los estoy usando adecuadamente.
Gracias por tu tiempo
Caritog.

1 Respuesta

Respuesta
1
En comando que debes invocar, cuando actualizas el cuadro combinado, es [nombre del] formulario].requery.
O sea si el formulario se llama por ejemplo Formulario de alquileres, inicias el formulario en vista diseño, click sobre el cuadro combinado, botón derecho, propiedades, eventos, después de actualizar, procedimiento de evento, generar.
Private Sub Cuadro_combinado1_Change()
    [formulario de alquileres].requery
End Sub
El nombre del formulario lo pones entre corchetes porque contiene espacios. El requery es actualizar (la consulta que da origen al formulario).-
Saludos. Jorge
Hola jorge eres muy amable.
Mira no funciona el código que me enviaste. Lo que tengo es una tabla que se llama CLIENTES (ID-CLIENTE, COMPAÑÍA), otra que se llama ALQUILER (SERIAL, INVENTARIO, ID-CLIENTE, FECHA DE ENTREGA).
Cree un formulario para la tabla ALQUILER. Mi formulario se llama FAlquiler y coloque un cuadro combinado llamado SelecEmpresaAlq el cual ubique en el encabezado del formulario y en la propiedad de este en origen de la fila selecciono los campos de la tabla CLIENTES.
En las propiedades del formulario FAlquiler en origen del registro llamo a una consulta CONSULTA 1 donde relación las tablas CLIENTES y ALQUILER y en el campo ID-CLIENTE coloco el siguiente criterio [Formularios]![FAlquiler]![SelecEmpresaAlq].
Cuando ejecuto el formulario en Vista Formulario me permite el cuadro combinado seleccionar las empresas por nombre pero los registros no aparecen a menos que le de Actualizar todo en el menu propio de ACCESS, el filtro lo ejecuta adecuadamente.
Entonces vuelvo a vista de diseño del formulario selecciono el cuadro combinado SelecEmpresaAlq y en la propiedad evento Después de Actualizar - Generar código coloco lo siguiente.
Option Compare Database
Private Sub SelecEmpresaAlq_AfterUpdate()
FAquiler.Requery
End Sub
Pero continua haciendo lo mismo cuando selecciono la empresa en el cuadro combinado no aparece ningún registro a menos que le de Actualizar todo del menu propio de ACCESS. Te recuerdo trabajo en ACCESS 2007.
Que pena contigo.
Muchas gracias.
Yo uso la version de access 2003, por ello algún paso puede diferir, pero en sustancia son similares.
Mira tienes 2 posibilidades.
1) En forma automática:
- Crear las relaciones de las tablas. Es decir el id-cliente de la tabla CLIENTES con el id-cliente de la tabla ALQUILER
- Crear un nuevo formulario utilizando el asistente, seleccionar la tabla cliente y los 2 campos y la tabla alquiler y los campos de esta también (deben quedar todos los campos en un solo formulario). Luego Access 2003 da 2 opciones (probablemente la 2007 sea similar), elijo Formulario con Subformularios.
2) E n forma manual.
En el cuadro combinado, debe tener las propiedades de datos como siguen:
Origen de control: alquiler. Id-cliente
Tipo/origen: Tabla /consulta
Origen de la fila: SELECT cliente.[id-cliente], cliente.COMPANIA FROM cliente ORDER BY [COMPANIA];
Columna dependiente: 1
En este caso, no es necesario agregar código. El cuadro combinado actualiza el valor del campo id-cliente a medida que seleccionas el correcto.
Igualmente puedes probar la forma utilizada por el asistente, que es muy práctica. (La del subformulario)
Saludos. Jorge

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas