Je suis sûr qu'il existe une solution simple à cela, mais elle semble m'échapper. J'ai donc un formulaire avec un RecordSource de SELECT * FROM Table1 WHERE id=[@id]
. (Oui, je sais que SELECT *
est diabolique, c'est juste un exemple). Évidemment, le comportement par défaut de ce formulaire est celui de l'ouverture, une boîte de dialogue de saisie demandera la valeur "[@id]". Mais ce que je voudrais faire est d'appeler ce formulaire de VBA et au lieu de faire apparaître le dialogue de saisie, allez-y et dites au formulaire ce que [@id] est, donc la boîte de dialogue ne s'ouvre jamais, et le formulaire s'ouvre comme [@id] où remplacé par une valeur dans la requête. Je l'ai essayé ce qui suit jusqu'à présent ...Formulaires Access 2007 avec RecordSource paramétré
Form_MyForm.RecordSource = String.Replace(Form_Form1.RecordSource, "[@id]", 1)
DoCmd.OpenForm "MyForm"
... et ...
Form_MyForm.txtId.Value = 1
DoCmd.OpenForm "MyForm"
... et ...
DoCmd.OpenForm "MyForm", acNormal, , "[@id]=" & 1
... mais aucun d'entre eux ne semble avoir l'effet désiré. Comment puis-je faire cela?
Merci d'avance.
Je savais que ce serait sois quelque chose de facile! Merci! –
Cela ne semble pas fonctionner de la même manière pour les rapports. Y a-t-il autre chose que je dois faire pour eux? –
rien ne va. l'a réparé. Pardon. : / –