Asignar valor a cuadro de texto mediante variable dentro de Forms!

Estoy dentro de un procedimiento público (en un módulo) y necesito asignar a un cuadro de texto de un formulario un valor, pero he de hacerlo explicitando Forms!

Para simplificar el asunto pongo un ejemplo que me resolvería el problema:

Supongamos un formulario F1 donde tenemos un cuadro de texto "txtEjemplo" y el procedimiento:

Private Sub Form_Load()

Dim var As String
var = "F1"


Me.txtEjemplo.Value = "4"

' Ahora necesito poner valor Null a txtEjemplo, pero usando Forms! Y la variable var:

Forms!var!txtEjemplo.Value = Null ' pero esta línea da error en tiempo de ejecución
End Sub

Es lógico que dé error la línea del Forms! Porque var es una variable, no un formulario, y lo que necesito sería explicitar el valor de var, pero no sé cómo hacerlo.

Si en cambio pusiera el nombre del formulario en sí:

Forms!F1!txtEjemplo.Value = Null

Entonces sí que funcionaría correctamente.

¿Alguna sugerencia?

1 respuesta

Respuesta
1

Lo que viene detrás del Forms puede escribirse de varias formas:

Forms!F1!txtEjemplo = Null

que es lo mismo que:

Forms("F1")!txtEjemplo = Null

dónde "F1" puede ser sustituido por una variable:

Forms(var)!txtEjemplo = Null

De propina te indico como seria si el nombre del control tambien estuviera en una variable y de una forma que, para mi, es muy clara:

Forms(var).Controls(var2) = Null

Finalmente indicarte que puedes obviar la propiedad .Value. Es la propiedad por defecto por lo que no es necesaria

Un saludo

Xavi
http://www.aesoft-adatabases.com/aesdb
http://www.mvp-access.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas