Petite colle pour les férus d'ACCESS [Résolu/Fermé]

Signaler
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
-
Jean_Jacques
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
-
Bonjour à tous,

Je vous propose une réflexion sur une petite colle je pense...

J'ai un premier formulaire avec en tête des zones de textes qui me permettent de lancer une recherche sur différents critères. En détail, j'ai le résultat de cette recherche, c'est à dire plusieurs enregistrements de ma bd.
J'ai un second formulaire pour modifier un enregistrement.

Mais comment passer du premier au second? En effet, après la recherche du premier formulaire, l'idéal serait de pouvoir COCHER l'enregistrement que l'on souhaite modifier. Mais quand j'insère un bouton d'option, une case à cocher ou un quelconque contrôle dans mon détail, lorsqu'on clique dessus, il s'active pour tous les enregistrements...

Je cherche depuis un petit moment, mais je ne trouve pas. Or je ne peux pas utiliser le mode habituel de recherche dans un formulaire (petites flèches) car j'ai plusieurs dizaines de milliers d'enregistrements!
j'espère que vous pourrez m'aider, je suis complètement bloquée!
Si je me suis mal exprimée, n'hésitez pas à me demander d'être plus explicite!
Ludivine

9 réponses

Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Bonsoir Ludivine50,

En fait de colle, c'est une question qui revient de manière récurrente sur CCM.
Voici ce qu'il vous faut. Une fois adapté à votre cas, cela devrait le faire comme on dit ... :
NB : Faire un copier/coller et adapter la syntaxe à votre BDD

Private Sub <Nom routine>_DblClick(Cancel As Integer)
Rem Routine sur clic à créer dans le formulaire appelant ...

Dim DocName As String
Dim LinkCriteriA As String

DocName = "<Formulaire appelé>"
LinkCriteriA = "[<Champ_lié_1>]=" & Me![<Champ_lié_2>]
' ouverture de l'enregistrement dans le formulaire appelé
DoCmd.OpenForm DocName, , , LinkCriteriA

End Sub

Bonne soirée
A+ éventuellement
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Bonjour Jean-Jacques,
merci beaucoup pour votre réponse, rapide qui plus est!
Je suis en train de tester le code que vous m'avez proposé mais que signifie la notion de "routine"?
Merci
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Bonsoir Ludivine50,

- La routine commence avec "Private sub"
- Elle se termine avec "End sub"

Cordialement
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Bonjour Jean-Jacques!
OK, juste un problème de vocabulaire, j'appelle cela une procédure. :-)
Alors en fait, mon pb, c'est plutôt que je ne comprends pas sur quoi on double-clique dans le code que vous me proposez. J'aurais besoin que le fait de double-cliquer sur l'enregistrement sélectionné ouvre un autre formulaire.
Faut-il que j'utilise un objet de la boîte à outil?
Merci beaucoup pour l'aide.
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Bonjour Ludivine50,

Il vous faut, à présent, aborder la notion d'évènement (Un clic, par exemple, est un évènement).
En première approche, je vous suggère d'utiliser l'aide en ligne via la touche F1

Dans dans le champ de l'onglet INDEX, saisir le mot : événement + Validation
Vous en saurez alors autant que moi

NB : Je m'absente en clientèle pour la matinée
A+ si nécessaire
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Merci Jean-Jacques. Grâce à ton aide j'ai réussi. Tu n'as pas forcément répondu précisément à mon pb, mais tu m'as donné les éléments nécessaires pour mener une réflexion personnelle sur mon problème. En fait, mon problème c'était que je ne savais pas qu'on pouvait créer un évènement sur la partie "Détail" du formulaire, sans être obligé de le rattacher à un contrôle. Et je suis restée bloquée là-dessus!

Je donne les éléments pour les personnes que ça intéresserait:
Dans le formulaire 1, créer un évènement qui s'éxécute sur la partie "Détail" du formulaire (et pas sur un contrôle !!!). Utilisez l'exemple fourni par Jean-Jacques.
Dans le formulaire 2, changer la source du champs "index" en utilisant à la place le champs "index" du formulaire 1.

Et pis voilà. Ma colle était toute bête en fait.
Bonne journée à tous
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Ludivine50,

Merci pour ce retour d'informations, et j'espère qu'il y aura d'autres colles ....
Par ailleurs ne néglige pas de clore le dossier SVP
Merci à toi et
Bonne journée
AJJ
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Jean-Jacques, j'ai encore un ptit soucis. Tu veux bien me filer un dernier petit coup de main?!?
Sur mon test de tout à l'heure, cela fonctionnait car je n'affichais que le champs "index" dans le second formulaire.
Mais dans mon cas réel, j'affiche tout un tas de champs. Or ceux-ci ne sont pas remis à jour. Je pensais que vu que je reporte l'index, pour les autres champs il allait se mettre à jour, mais non. Seul le champs récupéré dans le formulaire un se met à jour...
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Ludivine50,

Uniquement si tu es en version 2000
Tu voudras bien déposer ton travail ACCESS via : http://www.cijoint.fr/
et me communiquer via CCM le raccourci qui te sera communiqué

Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Le temps de rapatrier en dur les tables (liaison avec SQL SERVER) et de mettre des données factices, le voici:
http://www.cijoint.fr/cjlink.php?file=cj200902/cijV2btyCk.zip

Je travaille sous ACCESS 2000 effectivement. Néanmoins je l'ai testé sous 2003, et j'ai le même problème.
donc le premier formulaire c'est saisie_intervention_1, et il ouvre sur saisie_intervention_2.

Merci beaucoup de ton aide
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Arf, quelle tête en l'air, je viens de me rappeler qu'il fallait que j'enlève les "2" au bout du nom des tables...
Je te laisse laisse la modification? Excuses moi.
Après ça fonctionne sans pb!
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Ludivine50,

Refus de démarrage, un message d'erreur indique qu'il manque dbo_T_INTERVENTION
A toi de jouer
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
oui c'était mon petit message juste avant,
et voici:
http://www.cijoint.fr/cjlink.php?file=cj200902/cijdg2PzUF.zip
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Ludivine50,

Le document reçu est en lecture seule. Je n'ai pas pu me faire une idée.

Autre chose : En passant jette un coup d'oeil à l'essai joint.
Lancer consultation et changer le nom dans la liste déroulante, ce qui engendre la mise à jour des informations affichées.
Tu en auras peut-être l'utilité ?

http://www.cijoint.fr/cjlink.php?file=cj200902/cijFexIbjv.zip
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Moi aussi quand j'ouvre le tien, il est en lecture seule. Je peux néanmoins voir les macros.
C'est peut-être lié à cijoint.fr?
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Il est sympa ton exemple. Une idée à prendre effectivement! Et aussi au niveau des graphismes, car il est sympa à utiliser. Dans ce cas par contre, la mise à jour est sur le même formulaire, du coup, pas de pb.
As-tu réussi à ouvrir le mien?
Il faut faire shift appuyé au moment de l'ouverture, comme ça on a les menus et l'affichage normal.
Le mot de passe est vide.
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Ludivine50,

Voici une solution qui va susciter ton intérêt.
Sur le formulaire qui s'affiche au démarrage, il suffit d'activer le bonton "Màj" correspondant à l'enregistrement souhaité. Et puis ....

http://www.cijoint.fr/cjlink.php?file=cj200902/cijZkkA6zq.zip
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
Milles mercis Jean-Jacques! Quand j'ai adapté ton code (tu sais, au tout début de notre discussion...), disons que je l'avais un peu trop adapté... J'en avais supprimé un p'tit bout de rien du tout mais qui modifie tout! C'est ça quand on débute en VB, on ne comprends pas toujours ce qu'on fait et on fait des erreurs. J'espère que tu ne m'en veux pas trop?
Le fait de voir le fonctionnement de ton fichier m'a permis de comprendre cette erreur (et je me rends compte également de la puissance d'Access par ailleurs!).
Alors encore un grand merci et je te souhaite un excellent WE!
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Ludivine50,

Nous sommes tous passés par là ! Supprimer des trucs qui servent à rien, ça me rappelle des choses .. cuisantes ...
Il ne faut pas perdre de vue que les erreurs aussi sont riches d'enseignement.
Finalement c'est un succès. Le but est atteint.

Bonne fin de semaine également
AJJ