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

WinDev Discussion :

Comment incrémenter une rubrique de type numéro auto


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Comment incrémenter une rubrique de type numéro auto
    salut, pour mon application j'ai un champ NUM_ENREGISTREMENT qui est un clé unique mème si j'ai mis son type id-automatique ne s'incréménte pas automatiquement à chaque ajout d'un nouveau enregistrement....je pense q'il faut saisir un code pour que le champ s'incrémente automatiquement...svp si quelqu'un connait une solution me donne c'est trés urgent ..merci d'avance

  2. #2
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Si c'est un fichier Windev, et que le type est idautomatique alors le champs est autoincrémenté.
    As-tu regardé avec WDMAP (ou HFCS) si le champs n'était pas autoalimenté?
    Si tel est le cas, tu devrais avoir un message d'erreur 'doublons détectés'

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Points : 11
    Points
    11
    Par défaut code du champ qui s'incrémente automatiquement
    salut MR ,j'ai mis le type du champ num_enregistrement "id_automatique"...à l'affichage du tableau il me donne les numéros en ordre c'est à dire le champ s'incrémente...mais moi j'aimerais..lorsque j'ouvre la fenètre pour enregistrer les infos le champ num_enregistrement me donne la nouvelle valeur c'est à dire un nouveau numéro qui suit le numéro précédent ..c'est une succession je voudrais que le champ s'incrémente à l'ouverture de la fenètre ...merci

  4. #4
    Membre chevronné Avatar de Guardian
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    820
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 820
    Points : 1 810
    Points
    1 810
    Par défaut
    L'ID automatique, comme son nom l'indique, ne doit pas être gérée manuellement.
    Il n'y a aucune raison pour qu'un champ ID automatique figure dans une fenêtre, à fortiori en saisie.

    Toutefois, il t'est possible de récupérer la plus grande valeur du champ et de l'incrémenter, puis de l'afficher.
    Il faut par contre veiller à ne jamais modifier cette valeur manuellement, ni forcer une écriture dans ce champ.

  5. #5
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    En plus de l'excellente description faite par ArielD, j'y rajouterais que si le programme est utilisé en réseau, et que deux postes font un ajout en simultané alors ton ID peut ne pas être celui que tu as à l'écran...
    Je m'explique:
    Dans ton fichier, 3 enregs dont les ID sont 1,2,3.
    Si Poste A ouvre sa fenetre de création et que tu calcules le dernier ID alors tu verras apparaitre 4.
    Mais dans le meme temps, le poste B ouvre sa fenetre de création et calcule lui aussi le dernier ID, qui sera 4 (également puisque seulement 3 enregs dans le fichier...).
    Le poste B enregistre et ferme sa fenetre, alors, le prochain ID sera 5.
    Le poste A enregistre et ferme sa fenetre, avec l'ID 5, le prochain ID sera donc 6.

    L'ID automatique, comme son nom l'indique, ne doit pas être gérée manuellement.
    Il n'y a aucune raison pour qu'un champ ID automatique figure dans une fenêtre, à fortiori en saisie.
    Tout à fait, ces clés uniques sont là pour permettre les liaisons entre fichiers (entre autre) et ne doivent en aucun cas être modifiées, sauf à maitriser parfaitement les clés, les fichiers, les identifiants des tables de bases.

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Points : 11
    Points
    11
    Par défaut code du champ qui s'incrémente automatiquement
    bonjour MR ArielD ,j'ai bien compris ton explication, tu me dis "il t'est possible de récupérer la plus grande valeur du champ et de l'incrémenter, puis de l'afficher." sans modification manuelle ni ecriture dans le champ.
    ca ce que je veux exactement MR ...mais je trouve pas une solution pour faire ca ...parceque ca nécéssite un code forcément...j'ai essayé mais rien n'as marché....SVP aidez moi...je suis trés inquiète parceque c'est le moment de terminer mon application..il ne restera beaucoup de temp...merci d'avance

  7. #7
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut
    Citation Envoyé par bahloula Voir le message
    salut MR ,j'ai mis le type du champ num_enregistrement "id_automatique"...à l'affichage du tableau il me donne les numéros en ordre c'est à dire le champ s'incrémente...mais moi j'aimerais..lorsque j'ouvre la fenètre pour enregistrer les infos le champ num_enregistrement me donne la nouvelle valeur c'est à dire un nouveau numéro qui suit le numéro précédent ..c'est une succession je voudrais que le champ s'incrémente à l'ouverture de la fenètre ...merci
    Vous pouvez aussi stocker la dernière valeur du "Num_Enregistrement" dans un fichier à part (Max.fic par ex)ce dernier devra être mis à jours à chaque insertion de nouvel enregistrement et modification. Ainsi à l'ouverture de la fenêtre vous récupérez la valeur du fichier max et vous l'incrémentez

  8. #8
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    La redondance d'information ne sert à rien b_reda31.

    fais un hlitdernier(ton_fichier,ta_rubrique) et tu tomberas sur la dernière ligne et donc sur le max de ton id, par contre il sera peut être incorrecte dans le cas définit par EDM-TAHITI.

Discussions similaires

  1. Comment incrémenter une date d'un an ?
    Par imedg dans le forum SQL
    Réponses: 13
    Dernier message: 22/01/2021, 17h12
  2. [AC-2007] Comment récupérer la valeur du dernier numéro auto inséré dans une table ?
    Par marot_r dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2010, 17h17
  3. Comment incrémenter une date
    Par hamadi_insat dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2006, 22h53
  4. comment declarer une variable de type date ?
    Par MAJIK_ENIS dans le forum JDBC
    Réponses: 1
    Dernier message: 26/05/2006, 00h02
  5. Réponses: 3
    Dernier message: 25/04/2006, 23h07

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