Impossible d'obtenir un sous formulaire à double affichage !!!
traderpierre
Messages postés
291
Date d'inscription
Statut
Membre
Dernière intervention
-
RV71 Messages postés 656 Date d'inscription Statut Membre Dernière intervention -
RV71 Messages postés 656 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans Access, j'ai créé un formulaire à double affichage adossé à une requête
Lorsque j'ouvre ce formulaire individuellement, il s'affiche bien en double affichage.
Mais si je l'incorpore en sous formulaire dans un formulaire parent, le double affichage disparait au profit d'un formulaire unique.
En conséquence, j'ai dupliqué mon SF "sous formulaire'
1/ Le SF 1 paramétré en feuille e données
2/ La SF 2 Paramétré en formulaire unique
et incorporé les 2SF dans le Formulaire parent.
Mais je n'ai plus la fonction qui, quand je sélectionne une ligne ou un champs du SF1
ça me filtre automatiquement le SF2 adossé à la ligne ou champs ayant le focus du SF1
Pouvez-vous m'aider pour créer cette fonction filtrant mon SF2 en fonction de la ligne ou du champ sélectionné dans le SF1.
Par avance merci pour votre aide
Dans Access, j'ai créé un formulaire à double affichage adossé à une requête
Lorsque j'ouvre ce formulaire individuellement, il s'affiche bien en double affichage.
Mais si je l'incorpore en sous formulaire dans un formulaire parent, le double affichage disparait au profit d'un formulaire unique.
En conséquence, j'ai dupliqué mon SF "sous formulaire'
1/ Le SF 1 paramétré en feuille e données
2/ La SF 2 Paramétré en formulaire unique
et incorporé les 2SF dans le Formulaire parent.
Mais je n'ai plus la fonction qui, quand je sélectionne une ligne ou un champs du SF1
ça me filtre automatiquement le SF2 adossé à la ligne ou champs ayant le focus du SF1
Pouvez-vous m'aider pour créer cette fonction filtrant mon SF2 en fonction de la ligne ou du champ sélectionné dans le SF1.
Par avance merci pour votre aide
A voir également:
- Access sous formulaire double affichage
- Whatsapp formulaire opposition - Guide
- Double ecran - Guide
- Whatsapp double sim - Guide
- Formulaire de réclamation facebook - Guide
- Double driver - Télécharger - Pilotes & Matériel
17 réponses
Bon,
j'ai réfléchis (oui ça peut m'arriver), et j'ai trouvé d'où vient le souci, du moins comment le contourner : on cherchait comme des c... dans le vba, mais en fait, il suffit de baser le sf2 sur la requête sans les filtres, et le faire afficher le contenu de l'enregistrement de sf1.
Au load des 2 sf, on se met sur un nouvel enregistrement.
Sur current du sf1, on affiche alors l'enregistrement correspondant dans sf2.
Je ne sais pas si je suis clair, mais voici la BdD modifiée (il doit il y avoir des morceaux de code en trop, mais pas le courage de tout vérifier).
https://www.cjoint.com/c/JDyo7ZN42IU
A+
j'ai réfléchis (oui ça peut m'arriver), et j'ai trouvé d'où vient le souci, du moins comment le contourner : on cherchait comme des c... dans le vba, mais en fait, il suffit de baser le sf2 sur la requête sans les filtres, et le faire afficher le contenu de l'enregistrement de sf1.
Au load des 2 sf, on se met sur un nouvel enregistrement.
Sur current du sf1, on affiche alors l'enregistrement correspondant dans sf2.
Je ne sais pas si je suis clair, mais voici la BdD modifiée (il doit il y avoir des morceaux de code en trop, mais pas le courage de tout vérifier).
https://www.cjoint.com/c/JDyo7ZN42IU
A+
traderpierre
Messages postés
291
Date d'inscription
Statut
Membre
Dernière intervention
6
Merci, tu es un génie !!!
Bonjour,
je crois que c 'est le fonctionnement normal.
Il faut tester avec ce code que tu mettras sur les événements susceptibles de faire actualiser ton SF2.
Pour faire la mise à jour à chaque fois que tu sélectionnes un enregistrement dans le SF1, mets le code sur l'évènement current().
a+
je crois que c 'est le fonctionnement normal.
Il faut tester avec ce code que tu mettras sur les événements susceptibles de faire actualiser ton SF2.
Pour faire la mise à jour à chaque fois que tu sélectionnes un enregistrement dans le SF1, mets le code sur l'évènement current().
set Sf2.form.recordset = Sf1.Form.recordset
a+
Bon,
je viens de faire un test et cela fonctionne.
Sur l'évènement current() du sf1, j'ai mis ce code :
A+
je viens de faire un test et cela fonctionne.
Sur l'évènement current() du sf1, j'ai mis ce code :
Dim enreg As Long 'ou integer, mais qui peut le + peut le - enreg = Me.CurrentRecord 'on stocke l'enregistrement courant du sf1 dans la variable enreg Forms!FormPrincipal!sf2.SetFocus 'on donne le focus au sf2 DoCmd.GoToRecord , , acGoTo, enreg 'on va au même enregistrement que sf1
A+
Bonjour,,
Vos lignes de codes fonctionnent bien mais elles rentrent en conflit avec ces lignes
Me.SFDépensesSaisieRecherchReq1FD.SetFocus
DoCmd.GoToRecord , , acNewRec
Me.SFDépensesSaisieRecherchReq1FU.SetFocus
DoCmd.GoToRecord , , acNewRec
Que j'avais placé sur les évènements d'ouverture de chargement du formulaire principal,
Maintenant le formulaire s'ouvre sans se positionner sur nouvel enregistrement.
Le suffixe 1FD identifie le SF1 Paramétré en feuille de données
Le suffixe 1FU identifie le SF2 Paramétré en formulaire unique
Comment faire pour conserver votre fonctionnalité et celle de se positionner automatiquement sur un nouvel enregistrement à l'ouverture ou au chargement du formulaire.
J'ai essayé plusieurs combinaisons possibles mais je n'y parviens pas.
Pouvez-vous m'aider sur ce point et encore merci pour ce que vous avez déjà développé.
Vos lignes de codes fonctionnent bien mais elles rentrent en conflit avec ces lignes
Me.SFDépensesSaisieRecherchReq1FD.SetFocus
DoCmd.GoToRecord , , acNewRec
Me.SFDépensesSaisieRecherchReq1FU.SetFocus
DoCmd.GoToRecord , , acNewRec
Que j'avais placé sur les évènements d'ouverture de chargement du formulaire principal,
Maintenant le formulaire s'ouvre sans se positionner sur nouvel enregistrement.
Le suffixe 1FD identifie le SF1 Paramétré en feuille de données
Le suffixe 1FU identifie le SF2 Paramétré en formulaire unique
Comment faire pour conserver votre fonctionnalité et celle de se positionner automatiquement sur un nouvel enregistrement à l'ouverture ou au chargement du formulaire.
J'ai essayé plusieurs combinaisons possibles mais je n'y parviens pas.
Pouvez-vous m'aider sur ce point et encore merci pour ce que vous avez déjà développé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
bah simplement tu mets
1/ Sur l'évènement load() du SF1
2/ Sur l'évènement current() du SF1, tu laisses comme je t'ai suggéré, à savoir
A+
bah simplement tu mets
1/ Sur l'évènement load() du SF1
Me.SFDépensesSaisieRecherchReq1FD.SetFocus DoCmd.GoToRecord , , acNewRec
2/ Sur l'évènement current() du SF1, tu laisses comme je t'ai suggéré, à savoir
Dim enreg As Long 'ou integer, mais qui peut le + peut le - enreg = Me.CurrentRecord 'on stocke l'enregistrement courant du sf1 dans la variable enreg Forms!FormPrincipal!sf2.SetFocus 'on donne le focus au sf2 DoCmd.GoToRecord , , acGoTo, enreg 'on va au même enregistrement que sf1
A+
Attends,
remplace "me.xxxxxxxxxx" (tu devrais choisir des noms encore + longs :-) ) par forms!formPrincipal!sf1.setfocus (premiere copie écran, donc sur load de sf1)
Ca devrait aller mieux...
A+
remplace "me.xxxxxxxxxx" (tu devrais choisir des noms encore + longs :-) ) par forms!formPrincipal!sf1.setfocus (premiere copie écran, donc sur load de sf1)
Ca devrait aller mieux...
A+
Cette fois ci j'ai une erreur sur tes 1ères lignes qui fonctionnaient "Synchronisation du focus des 2SF.
Question toute bête est ce que cela pourrait provenir par l'odre dans lequel sont exécutées ces lignes de côdes !!!
Serait-il possible d'appeler le nouvel enregistrement après un petit délais pour être parfaitement sûr que les lignes de synchro focus des deux SFsoient opérationnelles.
Qu'en pensez-vous ????
Ci-dessous copie écran de l'erreur.

Question toute bête est ce que cela pourrait provenir par l'odre dans lequel sont exécutées ces lignes de côdes !!!
Serait-il possible d'appeler le nouvel enregistrement après un petit délais pour être parfaitement sûr que les lignes de synchro focus des deux SFsoient opérationnelles.
Qu'en pensez-vous ????
Ci-dessous copie écran de l'erreur.

Du coup, cette erreur se produit au chargement ou au moment ou tu cliques sur un enregistrement dans le sf1 ?
Sinon, si tu veux, partage ta base via https://fr.fromsmash.com/
A+
Sinon, si tu veux, partage ta base via https://fr.fromsmash.com/
A+
voici le lien de téléchargement de ma base de données
Pour que les deux SF du Form DépensesSaisieRecherchReq s'ouvrent sur nouvel enregistrement.
Formulaire Maître "Parent"
DépensesSaisieRecherchReq
SF1 "paramétré en feuille de données"
SFDépensesSaisieRecherchReq1FD
SF2 "Paramétré en formulaire unique"
SFDépensesSaisieRecherchReq1FU
https://www.fromsmash.com/Xes6l8d23A-ct?e=aGFyZGRpc2NvdW50bWFya2V0QGdtYWlsLmNvbQ==
Pour que les deux SF du Form DépensesSaisieRecherchReq s'ouvrent sur nouvel enregistrement.
Formulaire Maître "Parent"
DépensesSaisieRecherchReq
SF1 "paramétré en feuille de données"
SFDépensesSaisieRecherchReq1FD
SF2 "Paramétré en formulaire unique"
SFDépensesSaisieRecherchReq1FU
https://www.fromsmash.com/Xes6l8d23A-ct?e=aGFyZGRpc2NvdW50bWFya2V0QGdtYWlsLmNvbQ==
Sincèrement, je ne vois pas.
Pourquoi vouloir t'acharner à aller sur un nouvel enregistrement automatiquement ?
Il n'y a qu'à cliquer.
Si d'autres ont la patience, moi j'arrête là, trop usine à gaz
Pourquoi vouloir t'acharner à aller sur un nouvel enregistrement automatiquement ?
Il n'y a qu'à cliquer.
Si d'autres ont la patience, moi j'arrête là, trop usine à gaz
Bonjour
C'est Un peu le Bor......
Une chose a faire c'est de faire des relations correctes un à plusieurs avec des id en auto et numérique.
C'est Un peu le Bor......
Une chose a faire c'est de faire des relations correctes un à plusieurs avec des id en auto et numérique.