Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sous-formulaire détaché filtré

2 réponses
Avatar
Loïc V.
Re-bonjour! (j'abuse un peu aujourd'hui...)

Dans un formulaire (Commandes), j'ai un bouton qui me mène vers un autre
formualire (Imprégnation). Dans ce second formulaire, apparaît tous les
produits liés à la commande.

Comment puis-je faire pour que seuls les produits devant être imprégnés
s'affichent ?

Voici le code actuel:

stDocName = "A-Imprégnation"

stLinkCriteria = "[N°Commande]=" & Me![N°Commande]
DoCmd.OpenForm stDocName, , , stLinkCriteria

Où dois-je mettre un filtre et comment dois-je faire pour l'insérer ?

Merci beaucoup.

Loïc V.

2 réponses

Avatar
Argyronet
Bonjour,

Tout dépend ce qui caractérise un produit devant être "imprégné" !!!
Est-ce un boolean (Champ Oui/Non) ?
Si c'est la cas, il suffit de faire en sorte que le formulaire à ouvrir ait
comme source de données la requête correspondant au filtre souhaité et en
l'occurence, le N° de commande en cours d'une part et la valeur du champ
Impregnation d'autre part.
Pour créer dynamiquement la requête, il faut user d'objet QueryDef qui
permet de créer directement la requête si elle n'existe pas et si elle existe
déjà, il faut alors exploiter la propriété SQL et affecter la valeur
correspondante à cette même propriété.
Par exemple
Dim oQDF As QueryDef
Dim strSQL As String

strSQL = "SELECT * FROM Commandes WHERE NCommande = 10 AND Impregne = -1"
On Error Resume Next
Set oQDF = CurrentDb.CreateQueryDef("reqCommandeProduitsImprégnés",
strSQL)
If Err <> 0 Then
Err.Clear
Set oQDF = CurrentDb.QueryDefs("reqCommandeProduitsImprégnés")
oQDF.SQL = strSQL
End If

'*********************
' Le formulaire cible possède alors la requête en question comme Source.
Me.RecordSource ="reqCommandeProduitsImprégnés"
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)



"Loïc V." a écrit :

Re-bonjour! (j'abuse un peu aujourd'hui...)

Dans un formulaire (Commandes), j'ai un bouton qui me mène vers un autre
formualire (Imprégnation). Dans ce second formulaire, apparaît tous les
produits liés à la commande.

Comment puis-je faire pour que seuls les produits devant être imprégnés
s'affichent ?

Voici le code actuel:

stDocName = "A-Imprégnation"

stLinkCriteria = "[N°Commande]=" & Me![N°Commande]
DoCmd.OpenForm stDocName, , , stLinkCriteria

Où dois-je mettre un filtre et comment dois-je faire pour l'insérer ?

Merci beaucoup.

Loïc V.




Avatar
Loïc V.
Ok, j'ai un peu foiré dès le départ.
J'ai corrigé.
Plus simple que de passer par des filtres.
Merci beaucoup.

Loïc V.




"Loïc V." a écrit :

Re-bonjour! (j'abuse un peu aujourd'hui...)

Dans un formulaire (Commandes), j'ai un bouton qui me mène vers un autre
formualire (Imprégnation). Dans ce second formulaire, apparaît tous les
produits liés à la commande.

Comment puis-je faire pour que seuls les produits devant être imprégnés
s'affichent ?

Voici le code actuel:

stDocName = "A-Imprégnation"

stLinkCriteria = "[N°Commande]=" & Me![N°Commande]
DoCmd.OpenForm stDocName, , , stLinkCriteria

Où dois-je mettre un filtre et comment dois-je faire pour l'insérer ?

Merci beaucoup.

Loïc V.