• Domingo 22 de Diciembre de 2024, 14:30

Autor Tema:  Como puedo hacer esto sin ir campo a campo?  (Leído 1227 veces)

sneider822

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Como puedo hacer esto sin ir campo a campo?
« en: Martes 9 de Junio de 2009, 13:13 »
0
Buenas. Estoy haciendo una aplicación en Visual Basic 6.3. Resulta que tengo un formulario con varios campos y algunos de éstos campos se despliegan para poder seleccionar una opción concreta. Pues bien...a la hora de referirme a un campo tengo que hacerlo manualmente uno a uno...y es un poco pesado.

Me gustaría saber si hay algun método, comando , bucle o lo que sea que me haga esto que muestro pero sin ir campo a campo.

Public Sub BORRARTEXTBOOXCAPAS()

If INDICE = ComboBox3.TabIndex Or INDICE = ComboBox13.TabIndex Or INDICE = ComboBox23.TabIndex Then

TextBox16.Value = ""
TextBox17.Value = ""
TextBox18.Value = ""
TextBox19.Value = ""
TextBox20.Value = ""
TextBox21.Value = ""
TextBox22.Value = ""
End If

Como véis tengo que ir campo a campo uno a uno, y se hace bastante pesado. Me gustaría saber si existe algo para decirle que por ejemplo del 16 al 22 me ponga lo que yo quiera.

Muchas gracias por todo.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Como puedo hacer esto sin ir campo a campo?
« Respuesta #1 en: Martes 9 de Junio de 2009, 17:02 »
0
Sí, pero no se puede hacer tal y como lo has hecho tú. Tienes que declarar un vector de TextBox. Ponle el mismo nombre a todos los TextBox y te dirá si quieres crear una matriz de controles. Aceptas y ya los puedes recorrer como un vector cualquiera.

Saludos

sneider822

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Como puedo hacer esto sin ir campo a campo?
« Respuesta #2 en: Martes 9 de Junio de 2009, 17:53 »
0
Agradecerte tu ayuda. A mi manera si que funciona, de hecho lo hace perfecto, pero no es la manera mas correcta de hacerlo, ya que al tener muchisimos campos aun me queda por poner uno a uno varias sentencias.

De la manera que tu dices me pierdo...si me podrías indicar como quedaría el código o en que me tengo que fijar... Un saludo y gracias

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Como puedo hacer esto sin ir campo a campo?
« Respuesta #3 en: Martes 9 de Junio de 2009, 18:12 »
0
Cita de: "sneider822"
A mi manera si que funciona, de hecho lo hace perfecto, pero no es la manera mas correcta de hacerlo
Me refería a cómo quieres hacerlo, no cómo lo estás haciendo :P

Si llamamos a todos los TextBox simplemente TextB, y son digamos 20, nos quedaría algo tan sencillo como:

Código: Visual Basic
  1. Dim i as Integer
  2.  
  3. For i = 0 To 19
  4.     TextB(i) = vbNullString
  5. Next i
  6.  
que supongo es lo que quieres.

Saludos