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 :

[Résoolu]Requête Ajout "augmentation d'un numéro par li


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Requête Ajout "augmentation d'un numéro par li
    Salut et merci d'avance à celui ou celle qui pourra m'éclairer.

    Pour créer automatiquement un certain nombre de pièces, j'ai créé une requête ajout avec un champ qui comprend l'expression suivante:


    MaxDom("[numerodepiece]";"tbl1")+1

    Access prend le numéro de pièce le plus élevé et ajoute la valeur (1)

    Cette formule convient si j'ajoute 1 enregistrement.

    Mais si la requête ajoute 27 nouveaux enregistrement, est-il possible d'augmenter cette valeur à chaque fois au niveau de la reqête.

    Merci d'avance de votre précieuse aide

    Migaleb

  2. #2
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt,
    Si tu souhaite ajouter 1 a un chiffre pour une nouvelle pièce c'est ok !
    Mais si tu as 27 N° à Incrémenter de 1 en même temps cela revient a dire:
    Ajoute 1 au MaxDom("[numerodepiece]";"tbl1") mais sur 1er ligne de ma requete
    Ajoute 2 au MaxDom("[numerodepiece]";"tbl1")mais sur la deuxième ligne de ma requete !!! Mais sans tenir compte de la première ligne
    Ajoute 3 au MaxDom("[numerodepiece]";"tbl1") mais sur 3ème ligne de ma requete Mais sans tenir compte de la première et le deuxième ligne
    etc....
    Pas facile cette affaire !

    De deux choses l'une :
    1/Tu sais si tu crée une nouvel pièce une par une :
    tu lance ta requete ajout à chaque nouvelle pièce enregistrée !

    2/Tu sais que tu peux créer un groupe de plusieurs pièces en m^me temps !!!
    tu utilise la numérotation automatique d'Accèss !! (bien plus simple)
    @+
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Merci
    Salut samlepiratepaddy et merci de m'aider

    En effet, cette requête n'est utilisé qu'une fois par année pour ajouter des pièces en nombre car comme tu le dis si c'est une seule pièce ça ne pose pas de problème.

    Je n'utilise pas la numérotation automatique car je ne peux pas perdre de numéro sur ce coup là. C'es donc bien

    Ajoute 1 au MaxDom("[numerodepiece]";"tbl1") mais sur 1er ligne de ma requete
    Ajoute 2 au MaxDom("[numerodepiece]";"tbl1")mais sur la deuxième ligne de ma requete !!! Mais sans tenir compte de la première ligne
    Ajoute 3 au MaxDom("[numerodepiece]";"tbl1") mais sur 3ème ligne de ma requete Mais sans tenir compte de la première et le deuxième ligne
    etc....


    Que j'essaye de trouver. ...
    Y a t'il un "Maître parmi nous????

    Merci en tout cas de l'ami

    a+ si tu trouves quelque chose....


    Mig

  4. #4
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Dans ce cas tu es obligé de passer par du code (VBA)
    Va voir ici http://www.developpez.net/forums/faq.php

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Salut et merci
    Salut keita et merci de ton aide.

    En effet, je pense que ce n'est pas possible avec une simple requête.
    Je vais la coder.

    Au fait je pense que tu me dirrigeais vers la faq VBA d'access?

    Merci et à plus

    Mig

  6. #6
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Désolé Migleb, c'est effectivement ce que j'ai voulu faire;toutes mes escuses;eh bien voila!
    http://access.developpez.com/faq/?page=sommaire

  7. #7
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    re,
    Dans ton cas ...
    Je n'utilise pas la numérotation automatique car je ne peux pas perdre de numéro sur ce coup là
    Mais tu risque de le "perdre" avec le temps...!
    N°1256843 +1 = 1256844 etc...
    tu as donc déja un numéro pour chaque pièce et tu veux ajouter 1 aux pièces qui sont dans ta requete ???
    Si oui c'est une Update qu'il faut faire !!!(Mise à jour)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Matable SET Matable.Monchamp +1 WHERE ton ou tes critères !
    Et pour chaque pièce, le N° augmente de 1 !
    A executer une fois par an si tu veux !
    Mais a chaque execution le N° augmente de 1
    @+
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut merci
    Salut samlepiratepaddy,

    Top Cool j'essaye ça à la première heure demain matin, je suis de sortie avec ma copine ce soir...elle s'impatiente...

    Je te donne des news demain....

    a+

    Mig

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Non
    N°1256843 +1 = 1256844 etc...
    tu as donc déja un numéro pour chaque pièce et tu veux ajouter 1 aux pièces qui sont dans ta requete ???
    Si oui c'est une Update qu'il faut faire !!!(Mise à jour)
    Salut,

    La réponse est non !

    Si je crée 1 nouvel enregistement je vais chercher le dernier No avec
    MaxDom("[numerodepiece]";"tbl1")+1

    Mais si j'en crée plus d'un avec une requête ajout, tous les enregistrements dès le 2 ème ont le même numéro de pièce.

    a+ et merci de ton aide

    Mig

  10. #10
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Ok
    si je comprend bien, tu as un numéro d'une pièce auquel tu souhaite ajouter 1 et cela toutes les pièces suivantes?
    J'ai ce N) de pièce disons : N° 125465
    Je souhaite rajouter "27" lignes avec comme numéro
    125465 +1 =125466
    Mais que les 27 ajouts dans ma tables ai le N°125466 ??
    C'est ça?
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut C'est ça
    Exacte c'est tout à fait ça

  12. #12
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Re,
    Déja j'espère que ce N° n'est pas une clef car bien sur cette opération sera impossible!!
    Donc tu ajoute a ta table de pièces un certain nombre de piéces qui doivent toutes avoir le même N°....
    Ce N° est donc le Max du N° de la table pièce :
    Si le plus grand N° de la table pièce est 125488 !
    je souhaite ajouter 55 pièces.
    Les 55 piéces doivent avoir comme N° 125489 !
    Mais la dernière pièce de la table doit rester 125488 ?

    Dans ce cas il y a contracdiction sur le 1er post?????
    Mais si la requête ajoute 27 nouveaux enregistrement, est-il possible d'augmenter cette valeur à chaque fois au niveau de la reqête.
    Et aussi
    Je n'utilise pas la numérotation automatique car je ne peux pas perdre de numéro sur ce coup là. C'es donc bien

    Ajoute 1 au MaxDom("[numerodepiece]";"tbl1") mais sur 1er ligne de ma requete
    Ajoute 2 au MaxDom("[numerodepiece]";"tbl1")mais sur la deuxième ligne de ma requete !!! Mais sans tenir compte de la première ligne
    Ajoute 3 au MaxDom("[numerodepiece]";"tbl1") mais sur 3ème ligne de ma requete Mais sans tenir compte de la première et le deuxième ligne
    etc....
    Ce que je ne comprend pas c'est soit une incrémentation de 1 par pièce ou pour un groupe de pièce???
    C'est flou ton truc!!!
    Ok
    si je comprend bien, tu as un numéro d'une pièce auquel tu souhaite ajouter 1 et cela toutes les pièces suivantes?
    J'ai ce N) de pièce disons : N° 125465
    Je souhaite rajouter "27" lignes avec comme numéro
    125465 +1 =125466
    Mais que les 27 ajouts dans ma tables ai le N°125466 ??
    C'est ça?
    Réponse de ta part
    Exacte c'est tout à fait ça
    Convient que cela embrouille par rapport aux autres réponses apportées!!!!
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Heu!!!
    Je me suis certainement embrouillé un peu!

    Je le reformule.

    Mon numéro de pièce n'est pas une clé, car il doivent impérativement se suivre.

    Lorsque je crée une pièce unnique par formulaire, mon code va chercher le dernier numéro de pièce par Exemple 50104 et lui ajoute la valeur 1.

    en fin d'année je dois adresser environs 1500 pièces, que je ne vais pas créées une à une. Chaque pièce doit contenir une valeur de numéro de pièce unique, donc il faudrait que chaque ligne de la requête ait un numéro de pièce augmenté par rapport à la précédente.

    J'avoue que je cherche dans tous mes bouquins et que je sèche dur

    Mig

  14. #14
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Donc nous sommes bien en présence d'une incrémentation !!!!
    Mais complexe car l'incrémentation de la numération est groupé !!
    Ta table ressemblera à ça :
    N°Pièce; intitulé
    50211;Boulon
    50212;Boulon
    50213;Boulon
    50214;Boulon
    50215;Boulon
    50216;Boulon
    50217;Boulon
    etc...
    Et ce pour chaque Intitulé de pièce !!!!
    Donc incrémenter le N° de la pièce correspondante a disons "l'expédition" !!!!
    ça ce complique
    Pour palier a ce problème je ne vois que la création d'une table temporaire avec une requete "création Table" qui va retracer les éléments suivants:

    IdExpedition ou MouvementPièce (Numéro Auto)
    N°Pièce
    Intitulé Pièce
    NeWN°Pièce

    1/Tu décide d'ajouter 1528 pièces a ta table N°Pièce ....

    2/Ta requete Création Table va créer donc une table avec
    1528 lignes de la pièce N°50210;Boulon
    Numérotée de 1 à 1528

    3/ Mettre a jour NewN°Pièce
    N°Pièce + IdExpédition (Ton incrémentation est faites !!!!)

    4/Ajouter à la table N°Pièce les 1528 lignes de cette table avec comme N°Pièce le NewN°Pièce qui sera donc incrémenté de 1 à chaque fois !

    5/Supprimer la table temporaire !!!!
    Car un NuméroAuto n'est pas modifiable!
    Donc il faut repartir a 1 à chaque fois!!!
    Ps: si tu vide cette table et que tu la Compacte http://access.developpez.com/faq/?pa...#ReinitNumAuto théoriquement tu repart à zéro....Ce qui tévite de récréer une table à chaque fois !!!
    Mais si fait ce type d'opération 1 fois par an je ne vois pas l'interet de garder une table vide pendant 1 an, mais les deux solutions sont bonnes !

    6/ Relancer cette procédure a chaque fois que tu en as besoins !

    Complexe mais je ne vois que ça !
    Peut-etre d'autres ont de meilleurs solutions.....

    Bon courage
    @+
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Merci
    Effectivement tu as raison, J'avais testé cette solution qui me semble la seule à ma portée.

    Mais je trouve incroyable que l'on puisse pas (?) avec la requête création de table, créer un champ dans la nouvelle table (Muméroauto).

    En tout cas merci l'ami de toute ton aide,

    a+

    Mig

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Top cool
    C'est OK ça marche comme sur du papier à musique, même si c'est pas une procédure flamboyante.

    Merci infiniment de ton soutien samlepiratepaddy



    Mig

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

Discussions similaires

  1. requête ajout
    Par v.aroutcheff dans le forum Access
    Réponses: 2
    Dernier message: 19/02/2006, 11h20
  2. [VB]requête ajout
    Par os_rouen dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 08/02/2006, 14h06
  3. Problème avec requête ajout
    Par mitnick32 dans le forum Access
    Réponses: 1
    Dernier message: 02/02/2006, 18h02
  4. [requête ajout]violation de clés
    Par Elro6475 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/02/2006, 12h37
  5. requête Ajout
    Par lious dans le forum Langage SQL
    Réponses: 7
    Dernier message: 19/08/2004, 11h05

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