Access - Crear variables en VB

 
Vista:

Crear variables en VB

Publicado por Marc (13 intervenciones) el 05/09/2005 12:22:58
Hola.

Necesito saber si se puede crear nombres de variables en Visual Basic y cómo se hace. Voy a poner un ejemplo para que se vea claramente:

Tengo un formulario con 10 campos (variables) con casi el mismo nombre: prefijo_sufijo. El prefijo es siempre el mismo ("titulo_") y el sufijo es un numero en letra.
Lo que había pensado es crear un Array con los sufijos e ir rellenando los campos con un Do...While referenciando en cada pasada del bucle a un campo distinto, pero no se como referenciar a esas variables, porque no funciona correctamente.
Nota: los datos son consultados en una tabla, y los campos se rellenan con el evento "Al abrir".
----------------------------------------
numeros = Array("uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez")
i = 1
Do While i <= 10
Me("titulo_" + numeros(i)) = lo_que_sea
i = i + 1
Loop
----------------------------------------

Espero que me puedan ayudar y decirme cómo se hace.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Creación de nombres de variables en Visual Basic

Publicado por Alejandro (4142 intervenciones) el 07/06/2023 22:52:15
En Visual Basic, no es posible crear dinámicamente nombres de variables como lo estás intentando hacer en tu ejemplo. Sin embargo, hay otras formas de lograr el resultado que deseas. Puedes utilizar un enfoque basado en un control de matriz (array) o utilizar controles con nombres similares y utilizar un índice para iterar a través de ellos.

Aquí tienes un ejemplo utilizando un enfoque basado en un control de matriz:

1. Crea una matriz de controles para almacenar los nombres de los campos en el formulario. Por ejemplo, puedes agregar un control de matriz llamado "campos" en la sección de declaración de variables del formulario:

1
Dim campos(1 To 10) As Control

2. En el evento "Al abrir" del formulario, asigna los controles correspondientes a los elementos de la matriz. Puedes hacerlo utilizando la función "Controls" del formulario:

1
2
3
4
Set campos(1) = Me.Controls("titulo_uno")
Set campos(2) = Me.Controls("titulo_dos")
...
Set campos(10) = Me.Controls("titulo_diez")

3. Luego, puedes usar un bucle para iterar a través de los elementos de la matriz y realizar las operaciones necesarias en cada campo. Por ejemplo:

1
2
3
4
Dim i As Integer
For i = 1 To 10
    campos(i).Value = lo_que_sea
Next i

De esta manera, puedes acceder a los campos utilizando la matriz "campos" y el índice correspondiente.

Recuerda que debes ajustar los nombres de los controles en la matriz "campos" según los nombres reales de los controles en tu formulario.

Este enfoque te permite acceder a los controles utilizando un índice y realizar operaciones en ellos de manera más dinámica.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar