Article View: comp.databases.ms-access
Article #441Re: Recorrer campos de un formulario
From: Mario
Date: Tue, 14 Oct 1997 00:00
Date: Tue, 14 Oct 1997 00:00
104 lines
4970 bytes
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>
<P>Blanca Martínez Pastor escribió:
<BLOCKQUOTE TYPE=CITE>Utilizando los métodos de la colección
Forms se puede acceder a un
<BR>formulario determinado mediante un índice, sin necesidad de
utilizar su
<BR>nombre.
<BR>¿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>
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 <B><I>Controls
</I></B>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:
<P>Private Sub Form_Open(Cancel As Integer)
<BR>Dim i As Integer
<P> For i = 0 To Me.Controls.Count - 1
<BR> If TypeOf Me.Controls(i)
Is CommandButton Then
<BR>
Me.Controls(i).ForeColor = RGB(0, 0, 255)
<BR> End If
<BR> Next i
<BR>
<BR>End Sub
<P> 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 <B>For Each...Next:</B> 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).
<P>Saludos
<BR>Mario</HTML>
--------------EC90B917FC1F2B8E1E8AD9FC--
Technical Details
Message-ID:
<344373E7.14FB0B0D@arrakis.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<01bcd80e$3a0e78e0$a3c77ac3@b-martinez>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 111a5a,4af63f264a2aa46f X-Google-Attributes: gid111a5a,public X-Google-Thread: 10db39,4af63f264a2aa46f X-Google-Attributes: gid10db39,public X-Google-Thread: 111cf5,4af63f264a2aa46f X-Google-Attributes: gid111cf5,public X-Google-Thread: ff0ac,4af63f264a2aa46f X-Google-Attributes: gidff0ac,public From: Mario <mariorg@arrakis.es> Subject: Re: Recorrer campos de un formulario Date: 1997/10/14 Message-ID: <344373E7.14FB0B0D@arrakis.es> X-Deja-AN: 280365032 References: <01bcd80e$3a0e78e0$a3c77ac3@b-martinez> Organization: NetSat Inc. Newsgroups: comp.databases.ms-access,es.comp.bd.ms-access,microsoft.public.es.espanol.soporte.entre.usuarios.office97,microsoft.public.es.windows95