🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.databases.ms-access
3 messages
3 total messages Started by Blanca Mart�nez Pastor Mon, 13 Oct 1997 00:00
Recorrer campos de un formulario
#445
Author: Blanca Mart�nez Pastor
Date: Mon, 13 Oct 1997 00:00
9 lines
1141 bytes
Utilizando los m�todos de la colecci�n Forms se puede acceder a un
formulario determinado mediante un �ndice, sin necesidad de utilizar su
nombre.
�Es posible hacer lo mismo con los controles de un formulario determinado?.
Necesito poder recorrer todos los controles de un formulario y acceder a
sus respectivos nombres utilizando un bucle.

Gracias
Re: Recorrer campos de un formulario
#441
Author: Mario
Date: Tue, 14 Oct 1997 00:00
104 lines
4970 bytes

--------------EC90B917FC1F2B8E1E8AD9FC
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit



Blanca Mart�nez Pastor escribi�:

> Utilizando los m�todos de la colecci�n Forms se puede acceder a un
> formulario determinado mediante un �ndice, sin necesidad de utilizar su
> nombre.
> �Es posible hacer lo mismo con los controles de un formulario determinado?.
> Necesito poder recorrer todos los controles de un formulario y acceder a
> sus respectivos nombres utilizando un bucle.
>
> Gracias

    Todas las colecciones de Microsoft Access pueden ser accedidas mediante un
bucle que recorra los elementos de la colecci�n. Los controles de un formulario
pertenecen a la colecci�n Controls del formulario que se trate. Date cuenta que
cuando recorres una colecci�n, el primer elemento es el elemento cero y, por
tanto, el �ltimo elemento es uno menos que el n�mero total de elementos de la
colecci�n. El ejemplo siguiente recorre todos los controles de un formulario en
el momento de abrirse y, si el control es un bot�n de comando, cambia el color
del texto del bot�n a azul:

Private Sub Form_Open(Cancel As Integer)
Dim i As Integer

    For i = 0 To Me.Controls.Count - 1
        If TypeOf Me.Controls(i) Is CommandButton Then
            Me.Controls(i).ForeColor = RGB(0, 0, 255)
        End If
    Next i

End Sub

    Si el formulario que quieres recorrer es otro diferente al actual, s�lo
tendr�s que cambiar el identificador "Me" por el nombre del formulario que
quieras recorrer. Si est�s utilizando Microsoft Access 95 o superior, tienes
una alternativa al bucle For...Next en For Each...Next: el resultado es el
mismo pero, seg�n la Ayuda de M. Access, parece estar m�s optimizado (si tienes
muchos controles, ir� m�s r�pido).

Saludos
Mario

--------------EC90B917FC1F2B8E1E8AD9FC
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<HTML>
&nbsp;

<P>Blanca Mart&iacute;nez Pastor escribi&oacute;:
<BLOCKQUOTE TYPE=CITE>Utilizando los m&eacute;todos de la colecci&oacute;n
Forms se puede acceder a un
<BR>formulario determinado mediante un &iacute;ndice, sin necesidad de
utilizar su
<BR>nombre.
<BR>&iquest;Es posible hacer lo mismo con los controles de un formulario
determinado?.
<BR>Necesito poder recorrer todos los controles de un formulario y acceder
a
<BR>sus respectivos nombres utilizando un bucle.

<P>Gracias</BLOCKQUOTE>
&nbsp;&nbsp;&nbsp; Todas las colecciones de Microsoft Access pueden ser
accedidas mediante un bucle que recorra los elementos de la colecci&oacute;n.
Los controles de un formulario pertenecen a la colecci&oacute;n <B><I>Controls
</I></B>del formulario que se trate. Date cuenta que cuando recorres una
colecci&oacute;n, el primer elemento es el elemento cero y, por tanto,
el &uacute;ltimo elemento es uno menos que el n&uacute;mero total de elementos
de la colecci&oacute;n. El ejemplo siguiente recorre todos los controles
de un formulario en el momento de abrirse y, si el control es un bot&oacute;n
de comando, cambia el color del texto del bot&oacute;n a azul:

<P>Private Sub Form_Open(Cancel As Integer)
<BR>Dim i As Integer

<P>&nbsp;&nbsp;&nbsp; For i = 0 To Me.Controls.Count - 1
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If TypeOf Me.Controls(i)
Is CommandButton Then
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Me.Controls(i).ForeColor = RGB(0, 0, 255)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If
<BR>&nbsp;&nbsp;&nbsp; Next i
<BR>&nbsp;
<BR>End Sub

<P>&nbsp;&nbsp;&nbsp; Si el formulario que quieres recorrer es otro diferente
al actual, s&oacute;lo tendr&aacute;s que cambiar el identificador "Me"
por el nombre del formulario que quieras recorrer. Si est&aacute;s utilizando
Microsoft Access 95 o superior, tienes una alternativa al bucle For...Next
en <B>For Each...Next:</B> el resultado es el mismo pero, seg&uacute;n
la Ayuda de M. Access, parece estar m&aacute;s optimizado (si tienes muchos
controles, ir&aacute; m&aacute;s r&aacute;pido).

<P>Saludos
<BR>Mario</HTML>

--------------EC90B917FC1F2B8E1E8AD9FC--
Re: Recorrer campos de un formulario
#442
Author: Jos� Antonio Rico
Date: Tue, 14 Oct 1997 00:00
4 lines
915 bytes
para cada control haces lo sgte.: en el afterupdate le pones "nombre del
control a donde quieres ir".setfocus
E.Guerra
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads