Renombrar a través de un ciclo for

Necesito renombrar a través de un ciclo for el nombre de un cuadro de texto y no sé como hacerlo. Ruego me ayuden con esto por favor...
La idea es
campo(1)= variable
campo(2)= variable
campo(3)= variable
.
.
.
campo(n)=variable
Siendo N el indice del ciclo for y el nombre el cuadro de texto.
1

1 respuesta

Respuesta
1
Podes hacer una matriz de controles
Ejemplo
TextFORM1
Todos con el mismo indice
Entonces
Para acceder a cara uno desde el código tienes que poner ejemplo
telefono = textFORM1(1).text esto indica que se tome el texto del textbox que tenga el indice 1
Para crear una matriz de controles es fácil
Selecciona un textbox y pone copiar y pegar
Cuando te dice si quieres establecer una matriz de controles pone que si
Entonces a todos los textbos que vallas copiando y pegando van a ser de la matriz
cuidato TODOS LOS TEXBOX DE LA MATRIZ TIENEN QUE TENER EL MISMO NOMBRE... a veces se hace un poco difícil entenderlo...
Para esto se usan constantes que describan un poco más al textbox
Ejemplo
const txtNombre as integer = 1
luego
msgbox textFORM1(txtNombre).text
con esto mostraremos en un msgbox el contenido del textFOrm(1)
bueno luego para hacer el for es facil
for i = 1 to cantidad de texbox
textFORM1(i).text = variable(i)
Y así sucesivamente
Esto tendría lógica si variable fuera un arreglo.. entonces con i hiriamos deplazandonos por el arreglo y tomando el valor de la variable
Si variable son todas iguales también se puede hacer...
Si las variables son distintas y no quieres usar un arreglo
Entonces no se va a poder hacer con un for
Si, si entiendo lo que me quieres decir, pero no estoy utilizando un vector. Tengo 8 textbox y al recorrer una consulta sql quiero que me complete con datos los textbox y a la segunda vez estos mismos textbox (si es que existen datos) sean reutilizados para mostrar mis datos y así sucesivamente ... no sé si me logro dar a entender...
A bueno
Entonces antes deberías crear el recordset que tenga los nombres
Si no sabes como hacer la conexión me avisas
Y luego en el for utilizas un algo así como
txtFORM1.text = recordset. Fields(i)
Supongo que en el select cuando indicas los campos deberás respetar el orden de los textbox... para que sean cohentes..
Si tu primer columna en la base es apellido
Y tu primer textbox es nombre
Deberás especificar el orden de las columnas sin el *
Select campoNombre, campoApellido where ...
¿Me explico?
Bueno cualquier problema me volvés a preguntar
Si, ok ya tengo listo el recordset... pero yo quiero renombrar los textbox ... e tratado con textbox.name = "algo" pero no me aguanta la parada... jejejeje bnueno en fin ... ya estoy desistiendo de hacerlo... si se puede se puede si no ... no importa
agradezco igual tu esmero ... gracias
¿Vos quieres cambiarle el nombre a un textbox? ¿En tiempo de ejecución?
No se puede hacer eso... podes cambiarle el texto que muestra pero no el nombre...
Salvo
Que crees los textbox en tiempo de ejecución (vas a tener que posicionarlos por código) y ahí si podes ponerle el nombre que vos quieras...
Pero es mucho lio, vas a tener que calcular el tamaño de los textbox... y hacer algo para que los valla ubicando a una determinada distancia del primero que creo
Ahora que entiendo mejor tu pregunta... te digo que salvo que sea totalmente necesario... vas a tener que renegar un buen rato para hacerlo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas