Access - dudas sobre eventos

   
Vista:

dudas sobre eventos

Publicado por pedro (26 intervenciones) el 14/11/2007 09:58:27
Tengo una serie de dudas para redondear una aplicacion que estoy desarrollando. tengo un formulario pricipal (form1)que por medio de un boton de comando abre otro formulario (form2) relaccionado, el tema es que el form2 midifica la informacion existente en el form1.
las preguntas concretas son ¿que evento entra en acion en el form1 cuando se cierra el form2 y el form 1 vuelve a ser el pricipal en pantalla?. En el form1 tengo varios cuadros de lista con dos columnas cada uno y un cuadro de opciones que selecciona entre las diferentes listas ademas de un subformulario que muestra informacion detallada de los registros que muestran las listas. cuando cierro el form2 quiero que el grupo de opciones ejecute una opcion predeterminada y que la lista marque el primer registro que muestra. ¿como hago para seleccionar el primer registro de la lista? ¿me puedo referir desde un comando o evento al evento afterupdate de la lista o el grupo de opciones? ¿como?
Gracias por vuestra ayuda
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
información
Otras secciones de LWP con contenido de Access
- Código fuente de Access
- Cursos de Access
- Temas de Access
- Chat de Access
información
Códigos de Access
- Calculo del IBAN
- Codigos de error
- Combos anidados

RE:dudas sobre eventos

Publicado por mi menda (1111 intervenciones) el 15/11/2007 01:13:33
Hola Pedro:
Cuando cierras el form2, se tendría que disparar el evento Al activar del form1, aunque creo que puede ser mejor utilizar el evento al cerrar del form2.
En cuanto a seleccionar el primer registro del cuadro de lista, sería así:

desde el form1
Me.ListaX.SetFocus
Me.ListaX.ListIndex = 0

desde el form2
Forms!Form1!ListaX.SetFocus
Forms!Form1!ListaX.ListIndex = 0

En cuanto a que se marque una opción del grupo:
Me.MarcoX = valor ,desde form1
Forms!Form1!MarcoX = valor ,desde form2

En donde valor es el nº dado a una opción.

Para referirte al evento AfterUpdate (Procedimiento)
ListaX_AfterUpdate
Solo desde form1, pues lo tendrás como Private.
Sí lo deseas llamar desde varios sitios es mejor que hagas un Procedimiento publico o función en un módulo y llamarlo desde los eventos de los conroles.

Un Saludo
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

RE:dudas sobre eventos

Publicado por pedro (26 intervenciones) el 15/11/2007 09:46:38
En primer lugar darte las gracias por tu respuesta, que es muy completa y me aclara muchas dudas (la pregunta me habia quedado un poco enrevesada).
he probado todo lo que me dices y va correcto solo tengo un problema. tengo este codigo en el evento afterupdate de los cuadros de lista:

Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[Titulo_pry] = '" & Me![Lista_crr] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
Me.Refresh

lista_act = "Lista_crr"

Pues bien este codigo me funcionaba perfectamente antes de predeterminar una fila de las listas con Me.ListaX.ListIndex = 0 (añado esta linea en el afterupdate del gruppo de opciones). si añado el Me.ListaX.ListIndex = 0 me da un error enla linea Me.Refresh, el error es el siguiente:

Se ha producido el error 2115 en tiempo de ejecucion:
la macro o funcion establecida para la propiedad regladevalidacion o antesdeactualizar para este campo impide que access guarde los datos en el campo.

El codigo es prestado asi que no puedo decirte mucho sobre el (solo que funcionaba)
intente utilizar la propiedad selected en vez de listindex pero sigue fallando.
Puedes echarme una mano?. gracias.
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

RE:dudas sobre eventos

Publicado por mi menda (1111 intervenciones) el 16/11/2007 04:05:47
Pues en ese código no veo nada que se guarde, solo búsca.
Prueba a ver sí suena la flauta con Me.Requery en vez de Refresh, y sí el código es copiado, prueba a quitar Me.Refresh, quiza funcione igual.
Además el error hace referencia al evento Antes de actualizar, ¿Tienes código en ese evento?.

Un Saludo
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

RE:dudas sobre eventos

Publicado por pedro (26 intervenciones) el 16/11/2007 14:20:34
Bueno he estado cacharreando con el codigo y todavia no se que es lo que le pasaba.
para solucionarlo he cambiado de tactica y en el evento load del formulario preselecciono el registro de cada una de las listas que se mostrara por defecto con este codigo:

Me![Lista_pau] = Lista_pau.ItemData(0)

asi funciona correcto, pero no entiendo muy bien cual es la funcion de la primera parte del codigo:
Me![Lista_pau] que es lo que representa a que se refiere?
un saludo y gracias por tu ayuda.
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

RE:dudas sobre eventos

Publicado por mi menda (1111 intervenciones) el 17/11/2007 06:46:52
Hola Pedro:
Lo mejor es que visites este enlace para aclararte con las listas.

http://accessvbafaq.mvps.org/item.asp?pagina=92

Un Saludo
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

RE:dudas sobre eventos

Publicado por pedro (26 intervenciones) el 19/11/2007 11:54:07
Gracias por todo.
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

RE:dudas sobre eventos

Publicado por pedro (2 intervenciones) el 22/11/2007 12:15:02
me ha funcionado de maravilla.
Asi que solo tengo palabras de agradecimiento
Un abrazo
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