Impossible d'obtenir un sous formulaire à double affichage !!!

Fermé
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 - 19 avril 2020 à 14:42
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 - 27 avril 2020 à 13:21
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
A voir également:

17 réponses

RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
24 avril 2020 à 17:03
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+
1
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
27 avril 2020 à 12:13
Merci, tu es un génie !!!
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
Modifié le 19 avril 2020 à 16:27
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().

set Sf2.form.recordset = Sf1.Form.recordset


a+
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
19 avril 2020 à 18:12
J'ai testé, ça ne fonctionne pas à première vue.
Je continue de chercher.
0
bonjours
dans ce lien un exemple
https://www.cjoint.com/c/JDtqG5DHh3S
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
19 avril 2020 à 18:51
??
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
Modifié le 19 avril 2020 à 19:36
Bon,

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+
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
Modifié le 20 avril 2020 à 09:43
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é.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
20 avril 2020 à 13:29
Bonjour,

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+
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
20 avril 2020 à 18:27
Je reviens vers vous car j'ai testé votre code + 2 variantes,
J'obtiens des erreurs à chaque fois.
Avez-vous une idée pour pouvoir ouvrir ce formulaire sur Nouvel enregistrement ???
D'avance, Merci
Ci-dessous copies écran
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
20 avril 2020 à 18:38
Tu veux ouvrir quel formulaire sur un nouvel enregistrement ? Le formulaire principal ou le (un des) sous-formulaire ??

A+
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
Modifié le 20 avril 2020 à 18:45
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+
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
20 avril 2020 à 20:21
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.
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
20 avril 2020 à 20:29
Que se passe t'il si tu cliques sur continuer (la petite flèche verte en haut) ?
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
20 avril 2020 à 21:10
Il me marque Erreur d'exécution'2105': Impossible d'atteindre l'enregistrement spécifié
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
20 avril 2020 à 21:15
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+
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
23 avril 2020 à 15:20
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==
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31 > traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024
23 avril 2020 à 18:59
Je regarde, mais il y a pas mal de refresh, c'est "un peu" le bordel !
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
20 avril 2020 à 21:34
Essaies de mettre un
on error resume next
avant pour voir...
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
23 avril 2020 à 20:59
J'abandonne pour ce soir...
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
23 avril 2020 à 21:52
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
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
24 avril 2020 à 10:32
Merci quand même
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
24 avril 2020 à 12:12
Pas mal de soucis en ce moment,

si personne n'a trouvé, je réessaierai.

A+
0
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.
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
27 avril 2020 à 13:15
Oui mais je n'ai plus de filtre .
Comment faire pour que ça fonctionne même avec le filtrage multi critère
0
RV71 Messages postés 530 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 13 mai 2024 31
27 avril 2020 à 13:21
Ah bah oui du coup, en modifiant la requête source du sf2 les modifs se sont appliquées au sf1.

Faut faire 2 requetes.

Je regarde cela
0