Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eventos en pagina Control Ficha

1 view
Skip to first unread message

Marilo

unread,
Jul 8, 2004, 10:34:10 AM7/8/04
to
Hola a todos:

Quiero ejecutar una accion al hacer click en el boton o
solapa de una pagina de un Control-Ficha, pero no lo
consigo. La pagina tiene el evento "al hacer clic", pero
pongas lo que pongas,.... no hace nada....¿ no debería ?

Solo lo he conseguido en el evento " on change" del propio
control en si, pero ejecuta la accion siempre, cada vez
que cambias de pagina y necesitaria que las acciones se
realizaran o nó segun la pagina que selecciones.

¿ como debo hacerlo ?

Gracias y Saludos
Mariló
Access 2000

CarCar

unread,
Jul 8, 2004, 11:20:43 AM7/8/04
to
Hola:

En el evento "Al cambiar" del control y colocando, por
ejemplo una Select Case, tal que así:

Select Case Me.Solapas.Value
Case 0
... hacer lo de la primera solapa.
Case 1
... hacer lo de la segunda.
End Select

Saludos,
CarCar
MVP-Access

>-----Mensaje original-----

>.
>

Marilo

unread,
Jul 8, 2004, 1:09:39 PM7/8/04
to
Una vez mas, muchas gracias CarCar
Siguiendo tu idea......conseguí que funcionara asi:

Dim pg As Page
For Each pg In Me.nombrecontrolficha.Pages
If pg.PageIndex = 1 Then
...........
End If

...........

Next pg


Perfecto.....pero no logré averiguar para que sirve y como
se usan los eventos propios de la pagina del control
ficha ???

Gracias Carcar


>-----Mensaje original-----

>.
>

CarCar

unread,
Jul 8, 2004, 1:33:37 PM7/8/04
to
Hola Marilo:

Curiosa esa manera de acceder a las páginas. :-)

Yo me quedé igual que tú cuando comprobé que el
evento "bueno" era el de "Al cambiar", aunque estuve
jugueteando intentando averiguar cosas sobre los eventos
de cada una de las solapas, algo descubrí, pero no me
servían para nada y ya se ma ha olvidado. ;-)

Saludos,
CarCar
MVP-Access

>.
>

Marilo

unread,
Jul 9, 2004, 3:15:00 AM7/9/04
to
Hola CarCar...quizas ( No se si sigues el hilo...como
estas News corren tanto...)

Pues al final no me sirvió del todo lo del "for
each...next", porque aunque en realidad funciona bien, las
acciones a efectuar en cada pagina las hace
todas...quieras o no. Yo quería que al seleccionar una
pestaña en concreto se ejecutara la accion, pero solo para
esa pagina (los acciones de las otras paginas no).

Entonces enfocandolo de otro modo, la solucion que hallé
fue hacer algo asi como:

If Me.secundario.visible False then
If Me.nombredepagina.name = screen.activecontrol.name then
....accion
Me.secundario.Visible = true
end if
End If

Claro que esto obliga a que el foco se centre en la pagina
en si, por lo que no puede haber ningun otro control
activo en esa pagina.....En mi caso, me sirvió.

La cuestion es que tengo un control-ficha con
subformularios en cada pagina y para agilizar la carga
queria dejarlos sin objeto origen y vincularlos solo en el
momento de seleccionar la pagina en cuestion. Entonces con
esta ultima solucion, ponemos el subformulario
(secundario) no visible para la carga y luego al
seleccionar la pagina, lo vinculamos al formulario origen
y lo hacemos visible.... y parece que funciona (...aunque
en este mundo, lo mas probable es que exista una solucion
mas sencilla...quizas)

Saludos y gracias por la atencion
Marilo
Access 2000

>-----Mensaje original-----

>.
>

CarCar

unread,
Jul 9, 2004, 6:33:20 AM7/9/04
to
Hola Marilo:

Bueno, la opción que te conté inicialmente, desde luego
funciona... :-)

Yo lo que haría en tu caso es dejar los subformularios,
una vez hayan sido diseñados, con la propiedad "Origen del
registro" en blanco.

Luego en la select sería algo como:

Select Case Me.Paginas.Value
Case 0
If Me.Subform1.Form.RecordSource = "" Then
Me.Subform1.Form.RecordSource = "ElOrigenDeEsteSubf1"
End If
Case 1
If Me.Subform2.Form.RecordSource = "" Then
Me.Subform2.Form.RecordSource = "ElOrigenDeEsteSubf2"
End If
Case 2
...
...
End Select

Saludos,
CarCar
MVP-Access

>.
>

Marilo

unread,
Jul 9, 2004, 7:25:41 AM7/9/04
to
Hola CarCar:

Muchas gracias por tus respuestas. Probaré esto ultimo y
se tengo algun comentario volveré.

Saludos
Marilo
Access 2000


>-----Mensaje original-----
>Hola Marilo:
>


>Bueno, la opción que te conté inicialmente, desde luego
>funciona... :-)
>
>Yo lo que haría en tu caso es dejar los subformularios,
>una vez hayan sido diseñados, con la propiedad "Origen
del
>registro" en blanco.
>
>Luego en la select sería algo como:
>
>Select Case Me.Paginas.Value
>Case 0
> If Me.Subform1.Form.RecordSource = "" Then
> Me.Subform1.Form.RecordSource = "ElOrigenDeEsteSubf1"
> End If
>Case 1
> If Me.Subform2.Form.RecordSource = "" Then
> Me.Subform2.Form.RecordSource = "ElOrigenDeEsteSubf2"
> End If
>Case 2
>....

>....

>.
>

0 new messages