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 :

Incrémentation avec Max()+1


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut Incrémentation avec Max()+1
    Bonjour,

    Je cherche a faire une sorte d’incrémentation :

    Dans une tableA j’ai divers champ , avec parmi eux un champ numero qui n’est pas la clé primaire , donc il y a plusieurs ligne avec les mêmes numero.

    Je cherche dans cette table le numéro le plus grand avec une requete Max() , jusque la tout va bien.

    Ensuite je veux mettre cette valeur dans une autre tableB dans le champ numinc.

    Et donc je veux mettre sur cette ligne Max(numero)+1 dans le champ numinc par une requet mise a jour.

    Voilà le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE tableA, tableB SET tableB.numinc = Max([numero]);
    Access me dit :
    Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifié 'numinc' comme une partie de la fonction d'agrégat
    Je ne vois commet m’en sortir, je ne peux pas lier les tables mais si numinc , avant d’être incrémenter est égale à Max(numero)

    il y a peut etre plus simpe pour faire ca !

    merci

  2. #2
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par Nicko29

    Ensuite je veux mettre cette valeur dans une autre tableB de stockage de cette valeur incrémenter dans le champ numinc qui contient qu’une ligne , et qui contient la valeur max.
    A partir de là je ne comprends plus rien...

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 052
    Points : 24 645
    Points
    24 645
    Par défaut
    je verrais plutot cette syntaxe.

    UPDATE Table1 SET Table1.numero = DMax("Numéro","table2")+1;

    Le tout est de définir ton critere sinon l'ensemble des enregistrements risquent d'être mis à jour.

    Le QBE (générateur de requete ACCESS) est encore la meilleure solution pour concevoir des requêtes.

    Cordialement,

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut
    j'ai modifié une partie du message qui portait à confusion, je vais essayer ca et je vous tiens au courant merci loufab

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut
    Bo merci pour les aides , le code n'a pas marcher , acces n'accepte pas de mise a jour avec un Max() , ou je ne m'y prend pas correctement .


    j'ai pu m'en sortir avec une table temporaire et 2 requete suppression puis ajout , pour mettre une valeur max dans une table

    merci

  6. #6
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 162
    Points : 197
    Points
    197
    Par défaut
    salut normalement la solution de loufab est la bonne
    suf si ta table2 est vide donc ajoute Nz(Dmax("numero","table2"),0)+1

    ou plus de lisibilté
    EN VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim NumMax as long
    NumMax =Nz(Dmax("Numéro","table2"),0)+1
    Docmd.runSql "UPDATE Table1 SET Table1.numero =" & NumMax  & ";"
    En requête pareil tu crées une petite fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Function NumMax ()
    NumMax =Nz(Dmax("Numéro","table2"),0)+1
    end function
    A+

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut
    J'ai eu une petite interruption d'internet , je vais regarder ce code testé tout ca et je vous tient au courant merci !!

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut
    merci pour ces dernier code , ce la focntionne bien à présent , avec la focntion Dmax() , et pas max() comme j'aivais fait au début.

    Merci

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

Discussions similaires

  1. controle CEdit numerique avec max et min
    Par AlfredKr dans le forum Visual C++
    Réponses: 5
    Dernier message: 20/07/2006, 16h02
  2. soucis avec MAX(variable de type varchar)
    Par littledoudou dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/04/2006, 19h07
  3. Requete avec Max
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 11
    Dernier message: 16/01/2006, 10h59
  4. Pb requete avec MAX
    Par Karibou dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 18/08/2005, 14h05
  5. [Débutant] Requête SELECT avec max et sous-requête
    Par joefou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/07/2005, 14h28

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