** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Varios controles textbox
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Varios controles textbox

 Responder Responder
Autor
Mensaje
JuanaM Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 13/Junio/2019
Localización: San Javier
Estado: Sin conexión
Puntos: 9
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita JuanaM Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Varios controles textbox
    Enviado: 12/Abril/2021 a las 11:44
Tengo un formulario con 20 cuadros de texto donde siempre tiene que haber un valor comprendido entre 1 y 10. Quiero comprobar que hay alguno que tenga un valor de 10 y por eso pongo en el evento Al hacer clic de un botón
For each control in form.controls
if control.controltype= actextbox then
if control.value=10 then
msgbox"Al menos hay uno
end if
endif
next
Pero me dice que lo de control value no sirve
¿Como tendría que ponerlo?
Muchas gracias de antemano
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 12/Abril/2021 a las 12:09
Hola,

Llamarle Control a una variable es una mala idea al tratarse de una palabra reservada.

Intenta cambiar Control por (por ejemplo) ctl
Xavi, un minyó de Terrassa

Mi web
Arriba
Darioregclean Ver desplegable
Habitual
Habitual
Avatar

Unido: 14/Diciembre/2008
Localización: Argentina
Estado: Sin conexión
Puntos: 113
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Darioregclean Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 18/Abril/2021 a las 23:49
Buenas tardes estimados. solo quiero aportar comentando que hice una prueba creando un formulario con los controles de texto con nombre "ctrl01", "ctrl02", hasta "ctrl10" y sus etiquetas con nombres "ctrl01_etiqueta", "ctrl02_etiqueta", etc. Incorporé  un botón con el siguiente código.
Private Sub btn01_Click()
Dim ctrl As Control

For Each ctrl In Me.Controls
    If ctrl.ControlType = acTextBox Then
        If ctrl.Value = 10 Then
            Debug.Print ctrl.Name & ":" & ctrl.Value
        End If
    End If
Next ctrl

En los controles del formulario ingresé valores variables (numéricos y alfabéticos, asegurándome de que, al menos uno, tenga el valor 10) y el código ha funcionado perfecto.
Luego, he hecho la prueba llamando a "ctrl01" => "Control" y ha corrido bien.
Cambie los tipos de controles, modifiqué las propiedades de "Habilitado" y "Bloqueado" en todos los casos funcionó bien.
Modifiqué  el "Me.Controls" por "Form.Controls" y también ha funcionado correctamente
Eliminé la declaración "Dim ctrl As control" y el código también funcionó de manera correcta (sin tener habilitada la opción "Option Explicit").
Entonces ¿Puede ser que el problema esté relacionado con algún "tipo de dato extraño" en el control? por las dudas podrías limpiarle los valores o establecer uno como predeterminado (Ej: el cero).
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable