IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Affecter les résultats d'une requête dans un champ d'une table [AC-2013]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2018
    Messages : 26
    Points : 16
    Points
    16
    Par défaut Affecter les résultats d'une requête dans un champ d'une table
    Bonjour,

    J'ai réussi à créer une requête qui permet de définir un identifiant à l'aide d'un champ id et d'un texte (assez facile je sais). Cependant, je voudrais que les résultats obtenus remplissent un champ de la table. Ma question est donc la suivante :
    Serait-il possible à l'aide d'une macro d'affecter les résultats de la requête dans un champ précis ?

    Merci d'avance pour les personnes qui prendront le temps de me répondre.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    La réponse facile est : oui, il te suffit d'utiliser une requête de MAJ. Tu prends en entrée ta table, et tu assignes le calcul de ton ID.

    Ceci dit, pourquoi veux-tu faire cela ? Il est recommandé sauf problème de performance de ne pas stocker résultat d'un calcul dans un champ.

    Et tu peux utiliser d'autres méthodes moins "risquées" :

    Champ calculé dans la table, pas besoin de faire une requête à part.
    1. Tu choisi le type "Calculé".
    2. Tu y mets ta formule.


    Index unique multichamp.
    1. Tu entres en modification de table.
    2. Tu demandes l'affichage des index (l'icône avec l'élair).
    3. Tu te mets sur une ligne vide.
    4. Dans la 1ère colonne tu donnes un nom à ton index (ex : uniciteID ou ID).
    5. En bas, en dessous des colonnes, tu coches Unique
    6. Dans la seconde colonne de 1ère ligne tu indiques le nom de ton 1er champ
    7. Dans la seconde colonne de 2ième ligne tu indiques le nom de ton 2ième champ


    Attention si un des champs est Null, Access ne voit d'un seul coup plus l'unicité :-(.
    Donc tu peux avoir une infinité de ValeurChamp1 | Null ou de Null | ValeurChamp2 mais un est un seul ValeurChamp1 | ValeurChamp2.
    Si tu risques de te retrouver dans cette situation, il faudra le gérer toi-même en vérifiant avant l'ajout ou la modification que la combinaison n'existe pas déjà.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2018
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Déjà merci de cette réponse.
    J'utilise cette solution car ce champ est destiné à être une clé primaire, donc impossible de lui affecter le type données calculées (c'était la première solution que j'avais trouvé mais ce pb de clé primaire m'a fait changé de route).

    Les autres points que tu m'as donné sont ils faisables si ce champ est une clé primaire ?

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Si c'est ta clef primaire pourquoi la calculer ?

    Tu peux utiliser plusieurs champs dans pour une clef primaire.
    Tu sélectionnes les champs qui t'intéressent et tu appuis sur l'icône avec la Clef et voilà, une clef primaire multi-champ.
    La seule différence entre un index unique muti-champ et une clef primaire multichamp est qu'aucun des champs de la clef primaire ne peut être nul.

    Et si pour des raisons esthétiques tu veux la présenter d'un seul bloc, tu peux utiliser le champ calculé.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2018
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Oui c'est vrai ça paraît bête, c'est vrai que si c'est ma clé, elle doit être rempli directement.
    Je sais, je l'utilise cela dans d'autres tables

    En tout cas merci pour tes conseils et tes réponses rapides.

    Bon courage à toi pour les autres cas à solutionner sur le site .

    Bonne journée

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2018
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Re,

    Une question m'est venu après notre échange.
    Est il possible que dans un formulaire lorsque que je rentre le nom d'une personne par exemple et que l'ID automatique s'incrémente, que le 3ème champ se remplisse instantanément ? Je pense que ca doit être possible mais je ne suis pas sur...

    Si oui, cela se fait avec quel outil (requete MAj,macro,..) ?

    Désolé encore de te prendre ton temps..

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Peux-tu mettre un exemple de ce que tu veux faire car je ne saisi pas bien.
    C'est quoi ce 3ième champ dont tu parles ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2018
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    en gros j'ai une table

    ID (clé)
    Nom
    Identifiant (clé dans la mesure du possible)

    Et ce que je voudrais c'est lorsque je rentre les données avec le formulaire par exemple ca donnerai:
    ID 1
    nom azerty
    Ident 1_az

    et que le troisième champ se fasse automatiquement. (je sais, le rentrer soit même serait le plus simple cependant je ne fais pas ça pour moi et on me demande que ça se fasse automatiquement pour pas que les gens qui utilisent le formulaire aient besoin de le faire eux mêmes...)

    A+

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Le plus simple : utilise un champ calculé. Ca devrait être = [id] & " " & left([nom]; 2).
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Mais quel le gain par rapport à l'id seul ?
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2018
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Desole pour le temps de réponse.
    Il n'y a pas de gain, ce sont les consignes que j'ai reçu. Et pour le champ calculé c'est ce que j'ai fais mais en faisant ça j'ai découvert qu'un champ calculé ne peut ni être une clé primaire ni une clé secondaire, ce qui me pose problème.

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    j'ai découvert qu'un champ calculé ne peut ni être une clé primaire ni une clé secondaire, ce qui me pose problème.
    .

    Ne peux-tu utiliser la combinaison des autres puisque c'est redundant ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2016, 17h29
  2. Réponses: 8
    Dernier message: 27/08/2009, 14h01
  3. Réponses: 2
    Dernier message: 04/03/2008, 11h10
  4. Réponses: 6
    Dernier message: 18/09/2007, 18h10
  5. Réponses: 1
    Dernier message: 29/09/2005, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo