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

Requêtes et SQL. Discussion :

Problème de numéro auto


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut Problème de numéro auto
    Bonjour à tous,


    J'ai un souci avec des numéros auto qui visiblement s’emmêlent les pinceaux et qui ne s'incrémentent pas correctement.
    Mon application est scindée en deux parties : frontale sur poste client et dorsale sur le réseau

    En fait j'ai deux questions:
    1/ quelqu'un pourrait-il m'expliquer comment le numéro auto est déterminé, surtout dans le cas de table attachées, ou encore m'indiquer un lien que je m'empresserai de décortiquer, je n'ai pas réussi à trouver quelque chose qui éclaire ma lanterne

    2/ en fait mon objectif est de construire un dispositif de vérification de ces satanés numéros autos et je voudrais déterminer pour une table, le prochain numéro qui va être assigné lors d'une création pour pouvoir le comparer à la valeur la plus grande trouvée

    L'idée finale est de proposer au sein de mon appli, une fonctionnalité de vérification couplée à un compactage de base qui pourront être exécutés à la demande ( par exemple après un plantage de l'application )

    Merci pour vos suggestions
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour

    1/ quelqu'un pourrait-il m'expliquer comment le numéro auto est déterminé, surtout dans le cas de table attachées, ou encore m'indiquer un lien que je m'empresserai de décortiquer, je n'ai pas réussi à trouver quelque chose qui éclaire ma lanterne
    Oui parfois Access se croise les yeux sur les autonums.

    Voici du SQL pour arranger cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Currentdb.Execute "ALTER TABLE TaTable ALTER COLUMN TonChampAuoNum COUNTER(UneValeurDeDepart,1)"
    Comme tu peux le voir il s'agit d'un champ caché de la table.

    Ce compteur est naturellement remis à 0 si tu vide la table et que tu compacte ta BD.

    Autant que je sache on ne peut pas le lire mais peut-être que par SQL il est accessible, je n'ai jamais essayé.

    2/ en fait mon objectif est de construire un dispositif de vérification de ces satanés numéros autos et je voudrais déterminer pour une table, le prochain numéro qui va être assigné lors d'une création pour pouvoir le comparer à la valeur la plus grande trouvée
    J'ai une application qui marchait comme cela et il a fallu que je remplace tout le code car dés qu'on était en mode multiutilisateur le contrôle ne marche pas car le compteur peut augmenter de plus de 1. Et, même si il augmente de 1 ce n'est pas garantie que c'est le tien, cela peut très bien être celui de quelqu'un d'autre. De plus si tu as une création abandonnée, le numéro est brulé.

    Je te recommande d'utiliser le paramètre FailOnError lorsque que tu exécutes tes requêtes par code (c'est généralement le dernier) et de mettre des on error goto dans ton code pour attraper et gérer les erreurs d'éxécution.

    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 éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    Bonjour René et merci de intéresser à mon cas,

    Si j'ai bien compris, ce que tu me proposes est un moyen de réinitialiser ma séquence, non ?
    Ce n'est pas exactement ce que je cherche, j'ai bien trouvé un truc du style mais il me semble qu'il ne faut l'utiliser qu'à l'issue d'un insert.

    Donc en fait, ces 'autonumber' ne seraient pas des valeurs stockées mais calculées à la volée pour la table concernée...
    Si je resitue mon problème ce que je souhaite c'est contrôler que le prochain numéro attribué ne soit pas déjà utilisé ( ce qui semble être déjà une aberration mais que j'ai malheureusement déjà constaté), ce qui signifierait que je doive simuler une insertion, récupérer le numéro attribué, et vérifier qu'il n'est pas inférieur à la dernière valeur stockée.....

    Etant donné que mes valeurs sont utilisées comme identifiant techniques sans aucune valeur fonctionnelle, et que l'outil envisagé est destiné à voir après un plantage si la base n'est pas dans un état instable ce n'est pas forcément gênant, mais ça me paraît un rien alambiqué.

    sinon pour la gestion d'erreur c'est déjà fait et tous les ordres sql sont exécutés avec dbfailonerror.

    Encore une fois si quelqu'un à une idée lumineuse, elle sera la bienvenue.
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Autant que je sache le select @@Identity n'existe pas en Access, c'est du SQL pour MS-SQL Server.

    Par contre il est peut-être caché dans une des tables systèmes MSys en relation avec l'objet TaTable.

    Et pour éviter des problèmes avec Access il est recommandé de compacter ta BD de données régulièrement.

    Personnellement j'ai déjà eu un cas comme cela, le compteur est revenu de 100 positions en arrière. J'ai réinitialiser la séquence à Max+1 et je n'en ai jamais plus entendu parlé.

    Si tu as un index unique sur ton NumAuto de toute façon Acces va crier si tu essaye de mettre 2 fois le même.

    Aussi même si tu contrôle à priori que ton prochain numéro est libre, en environnement multi-utilisateur tu ne peux pas être sur qu'il le sera encore au moment de l'insertion réelle. 2 Postes pourraient par malchance calculer chacun de leur côté le même numéro.

    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.

Discussions similaires

  1. [AC-2003] Problème d'export d' un numéro auto dans un fichier texte
    Par vali25 dans le forum Access
    Réponses: 1
    Dernier message: 03/04/2012, 10h54
  2. Problème numéro auto
    Par Jean-Luc80 dans le forum IHM
    Réponses: 2
    Dernier message: 12/09/2010, 20h25
  3. [A2-VBA][Débutante] Problème Numéro Auto
    Par Ericka dans le forum Access
    Réponses: 10
    Dernier message: 07/07/2006, 22h02
  4. [Calendar] Problème de numéro de semaine de l'année
    Par gaia_dev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 29/11/2004, 11h44
  5. Numéro auto ===== Question bête
    Par Nicos77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/06/2003, 13h04

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