2009-09-27 4 views
2

Par exemple, j'ai une requête qui prend comme paramètre la propriété de texte d'une zone de liste déroulante [DDB1] de Form1. Comment référencer la propriété? Mon titubant google a suggéré qu'il devrait être quelque chose le long des lignes de Forms! [Form1]! [DDB1] .text Mais j'ai été incapable de trouver une syntaxe définitive de ces références.comment référencer les propriétés d'un contrôle dans Access

Des idées?

OT Semi- - l'aide Access2003, qui contient des liens vers un grand nombre de pages Web Microsoft, retourne beaucoup de 404s en essayant de les charger. Est-ce juste une coïncidence? Ou la fin de la vie à la dérobée?

+0

Qui utilise l'aide en ligne? C'est terrible. Désactivez la "fonctionnalité" qui recherche l'aide en ligne et limitez-la aux fichiers d'aide locaux et vous vous porterez mieux. –

+0

Et, si vous le pouvez, recherchez une copie de l'aide d'Access 97 et utilisez-la à la place. A97 aide indexé chaque mot dans le fichier, y compris l'exemple de code. –

Répondre

3

Pour avoir une requête de référence d'une zone de liste déroulante sur un formulaire, utilisez cette syntaxe:

Forms!MyForm!MyComboBox 

Cela récupérera la propriété value sélectionnée de la zone de liste déroulante (la valeur de la première colonne, si elle est boîte combo multi-colonnes).

Si vous voulez que la valeur sélectionnée d'une autre colonne dans la zone de liste déroulante, il est:

Forms!MyForm!MyComboBox.column(n) 

Contrairement à la plupart des indices numériques dans VBA, n est à base zéro (la deuxième colonne est 1).

Pour référencer la propriété text, la zone de liste déroulante doit avoir le focus.

Le fichier d'aide souffre apparemment de la pourriture du lien. Voici quelques liens dans MSDN à utiliser:

Access 2003 Programmation Référence
http://msdn.microsoft.com/en-us/library/aa167788(office.11).aspx

Access 2003 Langue Référence
http://msdn.microsoft.com/en-us/library/aa663079(office.11).aspx

+1

Si, toutefois, le nom du formulaire ou du contrôle contient des espaces ou d'autres caractères spéciaux, vous devez placer des [] crochets autour du nom du formulaire ou du contrôle. –

1

Vous avez en fait plusieurs façons de se référer à un contrôle avec MS-Access. En plus de la proposition Harvey @ Robert, vous pouvez aussi écrire:

forms(myFormName).controls(myControlName) 

Malgré ce que dit @ Robert, vous pouvez accéder à la plupart des propriétés d'un contrôle sans mettre l'accent là-dessus. Une exception importante est la propriété ".text", qui se réfère au texte apparaissant dans le contrôle, et où le focus doit être défini sur le contrôle correspondant.

La plupart du temps, la propriété .text est égale à la propriété .value, qui est accessible sans mettre l'accent sur le contrôle.

Ainsi, cette propriété n'est utile que pour les contrôles de type liste déroulante ou listbox, où la colonne liée (qui donne la propriété .value) diffère de la colonne affichée (donnant la propriété .text).

Questions connexes