Petite colle pour les férus d'ACCESS

Résolu/Fermé
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 - 19 févr. 2009 à 18:27
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 20 févr. 2009 à 17:12
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

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
19 févr. 2009 à 19:31
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
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
19 févr. 2009 à 19:57
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
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
19 févr. 2009 à 22:25
Bonsoir Ludivine50,

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

Cordialement
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 09:25
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.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 09:52
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
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 10:01
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
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 12:44
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
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 14:21
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...
0

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

Posez votre question
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 14:30
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é

0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 14:49
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
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 14:51
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!
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 14:56
Ludivine50,

Refus de démarrage, un message d'erreur indique qu'il manque dbo_T_INTERVENTION
A toi de jouer
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 15:01
oui c'était mon petit message juste avant,
et voici:
http://www.cijoint.fr/cjlink.php?file=cj200902/cijdg2PzUF.zip
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 15:36
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
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 16:03
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?
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 16:20
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.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 16:27
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
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
20 févr. 2009 à 16:59
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!
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 févr. 2009 à 17:12
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
0