Problème bouton "ouvrir formulaire"

Fermé
DicoAccess - 24 janv. 2014 à 13:18
 DicoAccess - 26 janv. 2014 à 17:57
Bonjour,

Je dois créer un dictionnaire sur Access, et citer mes sources.
J'ai une base avec les sources, et une autre avec mes termes. Sur le formulaire des termes, j'ai créé un bouton qui doit ouvrir le formulaire de source correspondant à la source citée dans la fiche.
Mais quand je clique dessus, le bouton me renvoie vers une fiche "source" vide! La fiche contient bien tous les champs qui apparaissent dans le formulaire source mais tous les champs sont vides.

J'ai bien fait concorder les champs pour qu'Access puisse retrouver quelles fiches ouvrir, et je ne comprends pas pourquoi ça ne marche pas...

Et les champs correspondent forcément puisque dans le formulaire termes, j'ai créé une liste de choix pour le champ "source", qui m'affiche les sources disponibles dans la base de données source...

J'ai l'impression de m'embrouiller dans mes explications, alors dites-moi si vous avez besoin de plus de précisions...

Merci pour votre aide!


A voir également:

8 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
24 janv. 2014 à 15:37
Bonjour
C'est bien un formulaire que tu veux ouvrir et non une page web concernant.
Exemple de syntaxe pour ouvrir un formulaire

Private Sub Commande24_Click()
On Error GoTo Err_Commande24_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "S/F_ElevesCours"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Commande24_Click:
Exit Sub

Err_Commande24_Click:
MsgBox Err.Description
Resume Exit_Commande24_Click
1
Ok donc je suis obligée de passer par du code?
Pourtant cette option est bien proposée lorsqu'on clique sur "créer un bouton"...

Je ne suis pas très à l'aise avec le code...
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
24 janv. 2014 à 21:54
Bonjour
En mode creation du formulaire, tu cliques sur la boite outil si elle n'est ouverte, puis sur l'outil bouton. Une fenetre s'ouvre offrant plusieurs commandes.
Tu choisis ouvrir formulaire. Access demandera lequel. Tu choisis.
0
Oui, c'est ce que j'ai fait, et ça marche quand je choisis "ouvrir le formulaire et afficher tous les enregistrements", mais ce que je veux c'est que ça marche quand je demande "ouvrir le formulaire et trouver des informations spécifiques à afficher".
Après je relie bien les deux champs qui contiennent les mêmes données, et le bouton m'ouvre bien ce que je veux, sauf que tous les champs sont vides, comme si les champs ne correspondaient pas...
Sauf qu'ils correspondent forcément, puisque j'ai fait en sorte que les données de la base "sources" soient proposées comme seul choix pour le champ de la base principale...
0
Bonsoir,
Vu où tu en es, mieux vaut envoyer la base via Cjoint.com. Tu copies le lien qu'il te donne et tu le postes dans ta prochaine réponse.
Bonne suite
0

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

Posez votre question
Voilà le lien
http://cjoint.com/?3AyxrHEAzaP

C'est une base simplifiée car ma base est trop lourde pour cjoint, mais le problème reste le même... s'il faut passer par du code je le ferai --' ça m'embête vraiment que ce bouton ne marche pas...
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
24 janv. 2014 à 23:37
le lien fonctionne pas correctement..
Compresse le fichier zip puis met le avec Cjoint
0
http://cjoint.com/?3AyxPVe47J9
0
Bonsoir, Castours,
Le fichier est une base .Accdb et je peux l'ouvrir sans problème.

Bonsoir DicoAccess,
Ton problème est difficile à voir pour plusieurs raisons:
1) ton exemple se limite à 1 seul enregistrement (ligne) pour la table Terme et 2 enregistrements pour la table Source. C'est vraiment très léger.
2) la liaison est construite sur les champs "Source Définition" et "Intitulé Source". Ce qui est très mauvais, il vaudrait beaucoup mieux que la liaison soit construite sur des champs numériques dont un des 2 côtés en N°Auto, question d'unicité d'enregistrement correspondant.
3) par obligation et manque de connaissances, tu as utilisé la construction automatique des boutons proposée par l'assistant Access. Très malheureusement la macro sous-jacente est inaccessible au tableau des macros. Ce qui n'était pas auparavant, les anciennes versions de Access. Je ne peux que te conseiller de reconstruire des macros (si tu les préfères à VBA) dans le tableau des macros avant qu'il soit trop tard pour changer. Quitte à y passer un peu plus de temps, et à copier coller.
4) Beaucoup d'erreur et de confusion dans les champs.
En 2 mots parce qu'il est tard et j'ai beaucoup pataugé. Tu mets en relation un champs numérique sur Table_Terme tiré de la liste déroulante à partir de Select (Table_Source), ce qui est bien, avec un champs Alpha [Intitulé Source], ce qui ne va pas du tout.
Pour mettre en liaison tes ordres d'ouverture, il faut que tes champs mettent en connexion des champs de même nature et qui se correspondent.
Comme tu as fait. Le bouton ouvre le formulaire demandé, mais sur un NOUVEL enregistrement parce qu'il n'a pas trouvé les données correspondantes. Il fallait lui demander d'ouvrir le formulaire, non pas tel que [Intitulé Source]=[Source définition] mais [Num_Source]=[Source définition]

5) Il y a beaucoup d'autres choses à dire. Mais il est tard.
0
Merci pour toutes ces infos, je vais essayer d'améliorer ça...

Le problème c'est surtout qu'on doit créer ce dico pour un devoir, on n'a eu que 2h de présentation d'Access et on ne nous demandera plus jamais (du moins en cours) de nous en servir...

Mais je te suis reconnaissante du temps que tu y as passé! :)
0