2009-09-02 7 views
0

bonne journéesynchronisation combo-boxes « 1 sous forme, 1 dans la sous-forme »

J'ai réussi (Merci à beaucoup d'aide stackoverflow) deux boîtes-synchronisés combo sur un formulaire.

NOUVEAU PROBLÈME ...

J'ai créé un à partir, avec une sous-forme. La zone de liste déroulante (A) est dans le formulaire, tandis que l'autre (B) est dans un sous-ensemble. (le combo 'B' doit être limité au combo 'A')

ie .. (cela fonctionne quand les deux combo-boxes sont sur le formulaire, mais quand celui-là (combo 'B') est dans la sous-forme , une err se produit

code de requête:


SELECT products.Product_Name FROM Table1 INNER JOIN produits sur Table1.Suppliers_of_Customer = products.Company_Name OU (((Table1.Suppliers_of_Customer) = [Forms]! [Form1]. [A]));

Code macro pour 'A' COMBO:


ACTION Requery
ARGUMENTS B

ACTION SetValue
ARGUMENTS [B], nz (Dmin ("Product_Name", "Query1"), "")


Que dois-je faire? Merci ...

Répondre

0

Vous devez apprendre comment faire référence aux contrôles des sous-formulaires.

Si vous avez cmbComboBox1 sur votre formulaire parent et cmbComboBox2 sur un sous-formulaire appelé MySubForm, à partir de la principale forme, vous feriez référer à eux comme:

Me!cmbComboBox1 
    Me!MySubForm.Form!cmbComboBox2 

De la sous-formulaire, vous feriez référence à les ainsi:

Me.Parent!cmbComboBox1 
    Me!cmbComboBox2 

il peut y avoir des problèmes avec la résolution Me.Parent dans certains contextes, et je n'ai pas la moindre idée si cela fonctionne dans les macros (programmeurs réel d'accès ne pas utiliser les macros - leur échapper dès que vous le pouvez). Dans ce cas, vous pourriez avoir à se référer au parent pleinement qualifié par son nom via la collection Forms:

Forms!ParentForm!cmbComboBox1 

Mais vous devriez essayer Me.Parent d'abord parce que cela signifie que le sous-formulaire pourrait être intégré dans de nombreuses formes différentes de parents , tant qu'ils ont les mêmes noms de contrôle.