Quelques soucis avec Access
Résolu
Gleude25
Messages postés
95
Date d'inscription
Statut
Membre
Dernière intervention
-
Gleude25 Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
Gleude25 Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me présente comme je suis nouveaux. Je m'appel Claude, et e suis étudiant en Génie Méca Prod à l'IUT de Besançon-Vesoul. Pour valider mon Semestre 4, j'effectue un stage de 10 semaines en entreprise. Le but de mon stage est de faire une base de donné sous ACCESS pour la gestion des stocks des outils de l'entreprise (pour le fraisage, tournage, etc).
Ca fait longtemps que j'ai pas retouché à ACCESS, donc j'ai un peu de mal à me remettre dedans.
Ce que j'ai fais pour commencer, c'est une petite base de donnés pour tester un peu les fonctionnalité d'ACCESS:
J'ai mis en place mes liens comme ci-dessous :
https://imageshack.com/
On a les produits, et leurs fournisseurs (ne tenez pas compte des mouvements, ca ne m'est pas utile pour l'instant).
Maintenant ce que je veux, c'est créer un formulaire, avec une liste deroulante ou je choisis la reference d'un produit, et ma bdd m'affiche toutes les infos sur le produit et le fournisseur associé à cet article. Seulement je n'y arrive pas...
Je crois que ce n'est pas possible a cause des clé primaire que j'ai mis, puisque je peux faire l'inverse, à savoir chercher le fournisseur dans une liste deroulante pour trouver les articles qui lui sont associé.
https://imageshack.com/
Pour info, je ne peux pas selectionner l'onglet ci-dessous
https://imageshack.com/
Si vous pouviez me dire comment résoudre ce problème, ca m'oterais une épine du pied. Merci !
Je reste disponible à d'éventuelles questions sur ma base de donné! ;)
Je me présente comme je suis nouveaux. Je m'appel Claude, et e suis étudiant en Génie Méca Prod à l'IUT de Besançon-Vesoul. Pour valider mon Semestre 4, j'effectue un stage de 10 semaines en entreprise. Le but de mon stage est de faire une base de donné sous ACCESS pour la gestion des stocks des outils de l'entreprise (pour le fraisage, tournage, etc).
Ca fait longtemps que j'ai pas retouché à ACCESS, donc j'ai un peu de mal à me remettre dedans.
Ce que j'ai fais pour commencer, c'est une petite base de donnés pour tester un peu les fonctionnalité d'ACCESS:
J'ai mis en place mes liens comme ci-dessous :
https://imageshack.com/
On a les produits, et leurs fournisseurs (ne tenez pas compte des mouvements, ca ne m'est pas utile pour l'instant).
Maintenant ce que je veux, c'est créer un formulaire, avec une liste deroulante ou je choisis la reference d'un produit, et ma bdd m'affiche toutes les infos sur le produit et le fournisseur associé à cet article. Seulement je n'y arrive pas...
Je crois que ce n'est pas possible a cause des clé primaire que j'ai mis, puisque je peux faire l'inverse, à savoir chercher le fournisseur dans une liste deroulante pour trouver les articles qui lui sont associé.
https://imageshack.com/
Pour info, je ne peux pas selectionner l'onglet ci-dessous
https://imageshack.com/
Si vous pouviez me dire comment résoudre ce problème, ca m'oterais une épine du pied. Merci !
Je reste disponible à d'éventuelles questions sur ma base de donné! ;)
A voir également:
- Quelques soucis avec Access
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
- Exemple base de données Access de gestion ✓ - Forum Logiciels
- Quick acces ✓ - Forum Windows
13 réponses
Gleude25,
Je viens de traiter ce dossier pour un autre déposant. Il me semble que la requête qui est sur le formulaire : Unités
- et qui se nomme listage machin-chose (en plein milieu) pourrait vous être utile
Il s'agit d'une requête paramétrée, qui peut être habillée avec un formulaire.
- Plus simple, je n'y crois pas ! ;-)
http://www.cijoint.fr/cjlink.php?file=cj201104/cijM2Qx58E.zip
Nota : Je m'absente le reste de l'après-midi
Je viens de traiter ce dossier pour un autre déposant. Il me semble que la requête qui est sur le formulaire : Unités
- et qui se nomme listage machin-chose (en plein milieu) pourrait vous être utile
Il s'agit d'une requête paramétrée, qui peut être habillée avec un formulaire.
- Plus simple, je n'y crois pas ! ;-)
http://www.cijoint.fr/cjlink.php?file=cj201104/cijM2Qx58E.zip
Nota : Je m'absente le reste de l'après-midi
Gleude25,
J'ai connu les mêmes affres de l'incompréhension ..... Chacun sont tour, si j'ose dire ;-)
Voilà pour avancer. A tester en harmonie avec le cosmos. Zen quoi !
- Il faut bien comprendre que l'information saisie manuellement est d'abord comparée à chacun des enregistrements de la colonne [Ref client].
Private Sub Champ_de_saisie_AfterUpdate()
With CodeContextObject
DoCmd.GoToControl "Champ_de_saisie"
DoCmd.FindRecord [Ref client], , True, , True
If Champ_de_saisie <> [Ref client] Then
MsgBox "Ce code est inconnu : " & Me!Champ_de_saisie
Me!Champ_de_saisie = ""
End If
End With
End Sub
NB : Text17 doit être remplacé partout par Champ_de_saisie
A+
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
J'ai connu les mêmes affres de l'incompréhension ..... Chacun sont tour, si j'ose dire ;-)
Voilà pour avancer. A tester en harmonie avec le cosmos. Zen quoi !
- Il faut bien comprendre que l'information saisie manuellement est d'abord comparée à chacun des enregistrements de la colonne [Ref client].
Private Sub Champ_de_saisie_AfterUpdate()
With CodeContextObject
DoCmd.GoToControl "Champ_de_saisie"
DoCmd.FindRecord [Ref client], , True, , True
If Champ_de_saisie <> [Ref client] Then
MsgBox "Ce code est inconnu : " & Me!Champ_de_saisie
Me!Champ_de_saisie = ""
End If
End With
End Sub
NB : Text17 doit être remplacé partout par Champ_de_saisie
A+
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Jean-Jacques,
ca commence à prende forme un peu, par contre, ne faut-il pas plutôt mettre [Produits]![Ref] quand je vais chercher dans ma table, plutôt que [Ref] ?
[Produits]![Ref], c'est pour dire que je vais chercher dans me table Produits; parce que à chaque fois, il me met: "ce code est inconnu"
Cordialement
ca commence à prende forme un peu, par contre, ne faut-il pas plutôt mettre [Produits]![Ref] quand je vais chercher dans ma table, plutôt que [Ref] ?
[Produits]![Ref], c'est pour dire que je vais chercher dans me table Produits; parce que à chaque fois, il me met: "ce code est inconnu"
Cordialement
J'allais oublier de préciser, j'ai cocher certaines cases pour les relations entre les tables, car c'est recommandé j'ai l'impression...
https://imageshack.com/
https://imageshack.com/
Bonjour
Pour les relations, il te faut prendre un N°auto Comme cle Primaire
Exemple: N°Four, N°Prod
Si tu as un meme nom de fournisseur ou de produit tu seras embeté.
Pour les relations, il te faut prendre un N°auto Comme cle Primaire
Exemple: N°Four, N°Prod
Si tu as un meme nom de fournisseur ou de produit tu seras embeté.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonour Gleude25,
Votre question est bien connue sur CCM.
Dans ce bricolo à télécharger vous trouverez comment afficher un enregistrement à partir d'un argument sélectionné dans une liste déroulante
http://www.cijoint.fr/cjlink.php?file=cj201104/cijWwdrtak.zip
Bon stage
Cordialement
....
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert
Votre question est bien connue sur CCM.
Dans ce bricolo à télécharger vous trouverez comment afficher un enregistrement à partir d'un argument sélectionné dans une liste déroulante
http://www.cijoint.fr/cjlink.php?file=cj201104/cijWwdrtak.zip
Bon stage
Cordialement
....
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert
Bonjour,
Dans ton formulaire, je ne comprend pas l'utilité de pouvoir changer la désignation et la classification, puisque la seule chose à changer (si j'ai bien compris), c'est la saisie.
De plus, je ne comprend pas l'utilité d'avoir la désignation et la classification, car n'étant pas liés, ca amene à des incohérences...
A part ca, je ne comprend pas comment ta liste de saisie (independante de tous les autres champs) peut renvoyer a ta table T_Article ? Ca a été fait avec la Macro "saisie" j'immagine, mais n'y a t-il pas moyen de faire plus simple avec une requete préalablement créée ?
Cordialement.
Dans ton formulaire, je ne comprend pas l'utilité de pouvoir changer la désignation et la classification, puisque la seule chose à changer (si j'ai bien compris), c'est la saisie.
De plus, je ne comprend pas l'utilité d'avoir la désignation et la classification, car n'étant pas liés, ca amene à des incohérences...
A part ca, je ne comprend pas comment ta liste de saisie (independante de tous les autres champs) peut renvoyer a ta table T_Article ? Ca a été fait avec la Macro "saisie" j'immagine, mais n'y a t-il pas moyen de faire plus simple avec une requete préalablement créée ?
Cordialement.
Gleude25,
Petite mise au point : Il ne faut pas prendre ce bricolo comme un outil rationnel, ce qu'il n'est pas.
Pour moi, c'est une sorte de petit banc d'essai ou ce cotoient des fonctions apparemment disparates que j'ai accumulées au fil du temps. Pour le cas où ...
Il convient donc d'y prélever, s'il y a lieu, ce qui peu vous convenir. Un peu comme dans un magasin de pièces détachées, si j'ose dire.
A propos de la liste indépendante : La recherche est gérée, en effet, par une procédure événementielle, dite sur Mise à jour, que vous trouverez dans les propriétés du champ ou apparaît la liste déroulante.
A+
Petite mise au point : Il ne faut pas prendre ce bricolo comme un outil rationnel, ce qu'il n'est pas.
Pour moi, c'est une sorte de petit banc d'essai ou ce cotoient des fonctions apparemment disparates que j'ai accumulées au fil du temps. Pour le cas où ...
Il convient donc d'y prélever, s'il y a lieu, ce qui peu vous convenir. Un peu comme dans un magasin de pièces détachées, si j'ose dire.
A propos de la liste indépendante : La recherche est gérée, en effet, par une procédure événementielle, dite sur Mise à jour, que vous trouverez dans les propriétés du champ ou apparaît la liste déroulante.
A+
Oui, j'avais bien compris que c'etait une petite bdd pour tester les fonctions d'access, mais que veux tu j'adore quand les choses sont bien faites ^^.
Sinon, je suis désolé, je ne trouve pas ta procédure dans les propriété du champ de ta liste deroulante. Je n'ai aucun champ renseigné dans l'onglet evennement dans les propriété. J'ai cherché également dans les donnés, il n'y a rien de special non plus...
Cordialement.
Sinon, je suis désolé, je ne trouve pas ta procédure dans les propriété du champ de ta liste deroulante. Je n'ai aucun champ renseigné dans l'onglet evennement dans les propriété. J'ai cherché également dans les donnés, il n'y a rien de special non plus...
Cordialement.
Gleude25,
C'est vrai que ce n'est pas joli, mais j'ai pris sur moi, et m'y suis habitué...
- Par ailleurs -
J'ai vérifié. Apparemment le transit du fichier via-ci-joint a semé le désordre ...
Voici les 4 lignes de codes en question. Il agissent sur l'évènement après Mise à jour ...
Philosophiquement, il me semble que les autres solutions envisageables sont d'un niveau de ... simplicité ... comparable.
'------------------------------------------------------------
' Champ_de_Saisie_AfterUpdate()
'
'------------------------------------------------------------
With CodeContextObject
DoCmd.GoToControl "[Référence_Facture]"
DoCmd.FindRecord Champ_de_Saisie, , True, , True
End With
Cordialement
C'est vrai que ce n'est pas joli, mais j'ai pris sur moi, et m'y suis habitué...
- Par ailleurs -
J'ai vérifié. Apparemment le transit du fichier via-ci-joint a semé le désordre ...
Voici les 4 lignes de codes en question. Il agissent sur l'évènement après Mise à jour ...
Philosophiquement, il me semble que les autres solutions envisageables sont d'un niveau de ... simplicité ... comparable.
'------------------------------------------------------------
' Champ_de_Saisie_AfterUpdate()
'
'------------------------------------------------------------
With CodeContextObject
DoCmd.GoToControl "[Référence_Facture]"
DoCmd.FindRecord Champ_de_Saisie, , True, , True
End With
Cordialement
Ok, je regarde ca ce soir et je te redis ca..
Par contre j'ai testé ce que tu m'as affiché au dessus, et j'ai un probleme...
Les lignes de code que tu viens de me donner servent a ajouter de nouvelles saisies, et donc mettre a jour ta base de donné. Moi tout ce que je voilais, c'etait pouvoir retrouver la reference de mon article, et d'avoir toutes les infos sur cet article.
Avec ton code, des que je cherche une reference, il me remplace dans la table de mes produits l'ancienne reference (celle que je voulais) par cele que j'ai rentré. C'est assez bizarre en fait...
La recherche de la reference, il n'y aurait pas moyen de la faire avec une macro plutot ?
Par contre j'ai testé ce que tu m'as affiché au dessus, et j'ai un probleme...
Les lignes de code que tu viens de me donner servent a ajouter de nouvelles saisies, et donc mettre a jour ta base de donné. Moi tout ce que je voilais, c'etait pouvoir retrouver la reference de mon article, et d'avoir toutes les infos sur cet article.
Avec ton code, des que je cherche une reference, il me remplace dans la table de mes produits l'ancienne reference (celle que je voulais) par cele que j'ai rentré. C'est assez bizarre en fait...
La recherche de la reference, il n'y aurait pas moyen de la faire avec une macro plutot ?
C'est bon, j'ai réussi à faire ce que je voulais avec une liste deroulante, le probleme venait du fait que j'ai renseigné le champ "Source contrôle" dans mon champ de recherche (la liste deroulante). Je l'ai supprimé et ca marche.
Par contre ce qui m'interesserait maintenant, c'est plutot que de chercher la reference dans une liste deroulante, la chercher dans un champ.
Je m'explique, il y a une zone de texte ou je tape ma reference, et quand je lance la recherche, le fomulaire est capable de chercher dans mes tables (associés à l'article concerné) les informations qui m'interessent.
Ca serait préférable parce que je dois gérer une liste de 500 references environ, alors avec une liste deroulante, c'est même pas la peine d'y penser...
J'ai posté une nouvelle question à ce sujet sur le forum.
Et merci à toi, tu m'as vachement aidé mine de rien (j'ai découvert deux trois trucs assez sympas dans les bdd que tu m'a envoyé aussi :p ), merci !
Par contre ce qui m'interesserait maintenant, c'est plutot que de chercher la reference dans une liste deroulante, la chercher dans un champ.
Je m'explique, il y a une zone de texte ou je tape ma reference, et quand je lance la recherche, le fomulaire est capable de chercher dans mes tables (associés à l'article concerné) les informations qui m'interessent.
Ca serait préférable parce que je dois gérer une liste de 500 references environ, alors avec une liste deroulante, c'est même pas la peine d'y penser...
J'ai posté une nouvelle question à ce sujet sur le forum.
Et merci à toi, tu m'as vachement aidé mine de rien (j'ai découvert deux trois trucs assez sympas dans les bdd que tu m'a envoyé aussi :p ), merci !
Gleude25,
Pour saisir manuellement, vous devez d'abord transformer la liste déroulante en simple champ texte. Ensuite adaptez cette syntaxe à votre base de données
Au premier coup d'oeil il semble bien qu'il ne que remplacer Référence par le nom de votre choix.
With CodeContextObject
DoCmd.GoToControl "[Référence]"
DoCmd.FindRecord Champ_de_saisie, , True, , True
If Référence <> Champ_de_saisie Then
MsgBox "Ce code est inconnu : " & Me!Champ_de_saisie
Me!Champ_de_saisie = ""
End If
End With
Cordialement
Pour saisir manuellement, vous devez d'abord transformer la liste déroulante en simple champ texte. Ensuite adaptez cette syntaxe à votre base de données
Au premier coup d'oeil il semble bien qu'il ne que remplacer Référence par le nom de votre choix.
With CodeContextObject
DoCmd.GoToControl "[Référence]"
DoCmd.FindRecord Champ_de_saisie, , True, , True
If Référence <> Champ_de_saisie Then
MsgBox "Ce code est inconnu : " & Me!Champ_de_saisie
Me!Champ_de_saisie = ""
End If
End With
Cordialement
Ok, merci de m'aider encore sur ce point.
Je ne comprends pas ce qui doit être remplacé par "[Référence]", est-ce:
1-Le champ de ma table ou je veux chercher l'informations (la reference) ?
2-La zone de texte ou j'entre ma recherche ?
Et sinon, le code que tu viens de me donner, je dois le rentrer dans quel champ ?
Ce que je veux faire exactement, c'est un un peu comme une RECHERCHEV (dans excel) de la valeur entré dans la zone de texte, et RECHERCHEV s'effectue dans la table des references.
Je ne comprends pas ce qui doit être remplacé par "[Référence]", est-ce:
1-Le champ de ma table ou je veux chercher l'informations (la reference) ?
2-La zone de texte ou j'entre ma recherche ?
Et sinon, le code que tu viens de me donner, je dois le rentrer dans quel champ ?
Ce que je veux faire exactement, c'est un un peu comme une RECHERCHEV (dans excel) de la valeur entré dans la zone de texte, et RECHERCHEV s'effectue dans la table des references.
Gleude25,
1 - [Référence] est à remplacer par le vrai nom du champ qui contient l'information recherchée
2 - La zone de texte (Champ_de_saisie) accueille, elle, l'argument sur la foi duquel la recherche aura lieu.
Le code fourni est celui d'une procédure événementielle dite après mise à jour
Il est activé par la validation de l'argument de recherche.
Cordialement
1 - [Référence] est à remplacer par le vrai nom du champ qui contient l'information recherchée
2 - La zone de texte (Champ_de_saisie) accueille, elle, l'argument sur la foi duquel la recherche aura lieu.
Le code fourni est celui d'une procédure événementielle dite après mise à jour
Il est activé par la validation de l'argument de recherche.
Cordialement
Je ne comprends pas de quel champ tu parles pour la [Référence]
Voila ce que j'ai mis :
https://imageshack.com/
Ca boggue des que je tente une recherche.
Sinon, voila les onglets "données", "evennement" et "autres" de mon champ Texte17 (la ou je veux entrer la reference a chercher) :
https://imageshack.com/
Cordialement
Voila ce que j'ai mis :
https://imageshack.com/
Ca boggue des que je tente une recherche.
Sinon, voila les onglets "données", "evennement" et "autres" de mon champ Texte17 (la ou je veux entrer la reference a chercher) :
https://imageshack.com/
Cordialement
Désolé ca ne marche pas. Je ne vois vraiment pas comment tu veux que je tourne ton bout de code (je ne le comprend pas).
Table [Fournisseurs]
Nom
Ref client
Code postal
Production
Table [Produits]
Ref
Description
Quantite
Fournisseur
Dans mon formulaire [Produits1], j'ai un champ de texte Champ_de_saisie, dans l'ongle evennement dans ses propriétés, je met dans "Après_Maj", "Générateur de code", et là j'entre le code que tu m'as donné, à savoir celui ci:
Private Sub Champ_de_saisie_AfterUpdate()
With CodeContextObject
DoCmd.GoToControl "Champ_de_saisie"
DoCmd.FindRecord Champ_de_saisie, , True, , True
If Champ_de_saisie <> Champ_de_saisie Then
MsgBox "Ce code est inconnu : " & Me!Champ_de_saisie
Me!Champ_de_saisie = ""
End If
End With
End Sub
Alors à partir de la, j'ai du un peu paniquer, parce que je me suis retrouver avec des "Champ_de_saisie" partout dans mon code.
C'est ca qui m'inquiete, j'ai changé les Texte17 par des "Champ_de_saisie" comme tu me l'a dis...
En tout cas ca ne marche pas, j'ai du mal te comprendre.
Cordialement.
Table [Fournisseurs]
Nom
Ref client
Code postal
Production
Table [Produits]
Ref
Description
Quantite
Fournisseur
Dans mon formulaire [Produits1], j'ai un champ de texte Champ_de_saisie, dans l'ongle evennement dans ses propriétés, je met dans "Après_Maj", "Générateur de code", et là j'entre le code que tu m'as donné, à savoir celui ci:
Private Sub Champ_de_saisie_AfterUpdate()
With CodeContextObject
DoCmd.GoToControl "Champ_de_saisie"
DoCmd.FindRecord Champ_de_saisie, , True, , True
If Champ_de_saisie <> Champ_de_saisie Then
MsgBox "Ce code est inconnu : " & Me!Champ_de_saisie
Me!Champ_de_saisie = ""
End If
End With
End Sub
Alors à partir de la, j'ai du un peu paniquer, parce que je me suis retrouver avec des "Champ_de_saisie" partout dans mon code.
C'est ca qui m'inquiete, j'ai changé les Texte17 par des "Champ_de_saisie" comme tu me l'a dis...
En tout cas ca ne marche pas, j'ai du mal te comprendre.
Cordialement.
Et bien écoute, je viens de me rendre compte d'un truc, c'est que dans ta liste deroulante, au lieu de chercher ta reference avec, tu peux taper ta reference dans le champ de la liste et il te la retrouve...
Je savais pas qu'on pouvait faire ca (ou je ne me souvenais plus ? ^^ )
Bref, je peux passer par ce chemin la pour faire ce que je voulais, mais j'aimerais tout de meme comprendre comment fonctionne ce que tu m'a proposé ?
Cordialement.
Je savais pas qu'on pouvait faire ca (ou je ne me souvenais plus ? ^^ )
Bref, je peux passer par ce chemin la pour faire ce que je voulais, mais j'aimerais tout de meme comprendre comment fonctionne ce que tu m'a proposé ?
Cordialement.