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 :

Champ calculé d'une ligne MaJ d'une reqête MaJ [AC-2007]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Champ calculé d'une ligne MaJ d'une reqête MaJ
    Bonjour,
    Je souhaite mettre à jour (avec une requête de Mise à jour) le champ « N° Operation » d’une table intermédiaire qui comporte de 2 à 4 enregistrements, relatifs à un même « évènement ».
    Chaque évènement est identifié avec un seul et même « N° d’Opération » ; donc c’est le même N° pour les 2 à 4 enregistrements et il est calculé comme le « numéro max + 1 » du champ « N° Opération » de la table opérationnelle.
    Cette table intermédiaire me sert à valider un « événement » avant de l’ajouter à ma table opérationnelle.
    J’ai essayé en mettant directement un champ calculé dans la ligne « Mise à jour » de la requête de la façon suivante :
    UPDATE [Tbl-Nouvel-evenement-par-libelle] SET [Tbl-Nouvel-evenement-par-libelle].[N° Operation] = "Max([Tbl-MtRg-Compt]![N° Operation])+1"
    La requête commence bien avec « vous allez mettre à jour 3 lignes .. », mais finit mal avec le message :
    Nom : erreur1.jpg
Affichages : 129
Taille : 50,4 Ko
    J’ai essayé les 2 solutions préconisées dans une discussion de ce forum relative au même problème : sans succès.
    J’ai alors essayé de passer par une requête intermédiaire qui calcule la valeur « max + 1 » (et qui me donne bien le bon résultat), de la façon suivante.
    UPDATE [Tbl-Nouvel-evenement-par-libelle] SET [Tbl-Nouvel-evenement-par-libelle].[N° Operation] = "[Rqt-Compt-Num-Op-Max]![Expr1]";
    Mais je retombe sur la même erreur.
    Enfin, en mettant un entier dans la ligne « Mise à jour » de la requête de mise à jour, ça fonctionne très bien ; mais c’est pas le but de l’opération ;-((.
    Le champ « N° Operation » des 2 tables est de type numérique.
    J’utilise Access 2007 2010
    J’avoue que je tourne maintenant en rond. Quelqu’un saurait-il me sortir de là ? Par avance merci

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Bonsoir

    Essayer :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE [Tbl-Nouvel-evenement-par-libelle] SET [Tbl-Nouvel-evenement-par-libelle].[N° Operation] = DMax([N° Operation],[Tbl-MtRg-Compt])+1

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,
    Merci.
    Mais la réponse est une de celles que j'ai eues au cours de mes essais : qui est un popup Access:
    "Entrer une valeur de paramètre ?":
    Tbl-MtRg-Comtp:

    Cdlt

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Bonsoir,

    Comment se nomme la table opérationnelle, vous servant à connaître le numéro max + 1 ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,
    la table opérationnelle se nomme : Tbl-MtRg-Compt

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Autant pour moi, j'ai oublié les guillemets dans la fonction de domaine :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE [Tbl-Nouvel-evenement-par-libelle] SET [Tbl-Nouvel-evenement-par-libelle].[N° Operation] = DMax("[N° Operation]","[Tbl-MtRg-Compt]")+1

    DMax
    est une fonction de domaine avec comme arguments le nom du champ, de la table et éventuellement critère placés entre guillemets.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,
    C'est bien cela !!
    Le pire est que j'ai l'impression d'avoir essayé cette orthographe.
    Mais on finit par ne plus savoir ce qu'on a essayé ou pas.
    Grand merci pour cette réponse efficace et rapide.
    Cordialement

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    De rien,

    Tu peux regarder le tutoriel sur ces fonctions de domaine, elles peuvent être bien utiles bien qu'un peu lentes à l'exécution.

    Bonne continuation !
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Entendu,
    Effectivement j'avais surtout travaillé avec la fonction "Max"
    Merci encore
    A+

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Dans ce cas, la fonction Max, doit-être utilisée dans une sous-requête et ici ce n'est pas possible.

    L'autre possibilité, c'est d'utiliser une fonction VBA avec un recordset à la place de la fonction de domaine.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour
    Merci bien pour ce complément d'information.
    Cdlt

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

Discussions similaires

  1. Remonter le contenu d'une ligne non vide à une ligne vide
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/08/2014, 12h58
  2. Réponses: 3
    Dernier message: 29/03/2011, 20h38
  3. Supprimer une ligne d'un tableau, et MAJ de la BDD
    Par big x dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/10/2007, 09h14
  4. Réponses: 1
    Dernier message: 01/06/2007, 08h30
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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