2010-09-24 8 views
0

J'ai une liste déroulante et plusieurs zones de texte sur un formulaire. Lorsque je sélectionne une valeur dans la zone de liste modifiable, je souhaite qu'elle exécute une requête basée sur cette valeur et remplisse les zones de texte avec les données renvoyées par la requête. La requête ne doit renvoyer qu'un enregistrement et les zones de texte correspondent aux différentes colonnes de cet enregistrement.MSAccess - remplir la zone de texte avec la valeur de la requête

J'ai ce code:

Private Sub cbo_equip_loc_Change() 
Dim location As String 
Me.cbo_equip_loc.SetFocus 
location = DLookup("NAME", "Query1", "position = '" & Me.cbo_equip_loc.SelText & "'") 
Me.Text51.SetFocus 
Me.Text51.Text = location 

End Sub 

Mais je reçois cette erreur: « Cette propriété est en lecture seule et ne peut pas être »

Toutes les idées?

Résolu: Je suis un idiot.

J'avais une certaine valeur dans la Source de Contrôle de quelque chose que j'essayais de faire auparavant. Retiré ça et ça a marché!

Répondre

1

Zone de texte Text51 est verrouillé, définissez la propriété sur Faux.

+0

en fait, ce prop erty est réglé sur Locked = Non. Mais, im un idiot, j'avais une certaine valeur dans la Source de Contrôle de quelque chose que j'essayais de faire auparavant. Retiré ça et ça a marché! – kralco626

3

Il n'y a pas besoin de le faire:

Me.Text51.SetFocus 
Me.Text51.Text = location 

il est vrai que la propriété de texte est disponible uniquement lorsque le contrôle a le focus, mais la propriété de valeur est disponible sans mise au point, ou Access VBA est tout à fait heureux avec juste le nom du contrôle:

Me.Text51.Value = location 

Ou

Me.Text51 = location 
+0

J'ai fait Me.Text51.Value = location et il m'a donné une erreur disant que je ne pouvais pas définir la propriété value. Bien que cela puisse avoir été avant que j'ai enlevé ce que j'avais du champ Source de contrôle. – kralco626

+0

@ kralco626 Je pense que vous trouverez que c'était avant que vous fassiez le changement. – Fionnuala

+0

haha ​​yup. Merci! +1 – kralco626

Questions connexes