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 :

Champ matricule auto-incrémenté


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 22
    Points : 98
    Points
    98
    Par défaut Champ matricule auto-incrémenté
    Bonjour à tous;

    J'ai un champ matricule dans lequel doit s'afficher le matricule de l'employé lors de la saisie d'un nouveau employé. Ce champ ne doit pas être actif pour la saisie.
    Lors de l'enregistrement d'un nouveau employé, ce champ doit afficher automatiquement le prochain matricule disponible. Le problème est que je ne sais pas comment procéder car le matricule de départ doit être sous la forme S0001 et lors de la prochaine saisie, le champ matricule doit afficher S002 et ainsi de suite.
    Je sollicite votre aide s'il vous plaît.
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 239
    Points : 12 866
    Points
    12 866
    Par défaut
    Bonjour,
    S ile problème concerne l'incrémentation d'un Id alpha-numérique, la question a été posée pas mal de fois.
    Une petite recherche s'impose !

    Tatayo.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2014
    Messages : 20
    Points : 28
    Points
    28
    Par défaut
    Bonsoir,

    Comme l'a dit Tatayo, une petite recherche s'impose... J'ai trouvé ça : http://www.developpez.net/forums/d93...pha-numerique/

    C'est pour access mais on peut adapter le code à WD18 surtout que les commandes de gestion des alphanumériques sont nombreuses.

    Sur le principe, je ferais comme ça :
    - Avant l'ouverture de ta nouvelle fiche, tu vas :
    ==> lire la dernière fiche,
    ==> récupérer le matricule
    ==> Enlever le "S" et prendre la valeur
    ==> Incrémenter cette valeur et la rajouter au "S"
    ==> Affecter le total à ton champ.

    C'est ce qui est fait dans l'exemple du lien que j'ai mis au dessus, j'avais déjà fait ça il y a très longtemps, les commandes WD18 permettent certainement d'aller plus vite qu'à l'époque... Le principe reste le même...
    Je vais suivre la discussion et si tu ne trouves pas, j'essayerai de te mettre un bout de code... Pour l'instant, vu l'heure, c'est dodo

    Bonne prog

  4. #4
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Ou bien tu gère dans ta table ton matricule comme un entier auto incrément, et tu rajoute le S par programmation dans l'ihm. L'indexage d'une clé sous forme d'entiers est sûrement plus pertinent que d'y rajouter un caractère devant, surtout si c'est toujours le même.

    Mais effectivement il faut quand même récupérer le prochain id. par requetage de la bd avant chaque affichage de ton formulaire et affecter ton champs en affichage seul...
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  5. #5
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // recherche du dernier matricule -> cMatricule
    //...
    // Incrément
    nCompteur = val(cMatricule[[2 A]])
    nCompteur++
    cMatricule = "S"+NumeriqueVersChaine(nCompteur,"03d")
    ... et penser à vérifier la présence du matricule avant d'écrire, ou a boucler sur l'incrément suite à une erreur de doublon.

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    S ile problème concerne l'incrémentation d'un Id alpha-numérique, la question a été posée pas mal de fois.
    Une petite recherche s'impose !

    Tatayo.
    Ben oui, Tatayo, on n'a même pas laissé le temps ou l'opportunité à findjo07 de faire sa petite recherche !

    Allons, les Forumeurs, souvenons-nous que l'esprit du Forum n'est pas d'aider à tout prix, mais d'aider ceux qui s'aident.
    Nul doute qu'un certain nombre d'entre nous pouvaient répondre.
    Nul doute non plus que Tatayo connaissait plusieurs solutions.

    Alors pourquoi vous précipiter quand il tente de rappeler l'esprit du Forum à l'un d'entre nous ?

    Bonne journée

    Hemgé

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

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

    Informations forums :
    Inscription : Novembre 2018
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par R&B Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // recherche du dernier matricule -> cMatricule
    //...
    // Incrément
    nCompteur = val(cMatricule[[2 A]])
    nCompteur++
    cMatricule = "S"+NumeriqueVersChaine(nCompteur,"03d")
    ... et penser à vérifier la présence du matricule avant d'écrire, ou a boucler sur l'incrément suite à une erreur de doublon.
    Peut tu me donner ses codes en entièrement ?

  8. #8
    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,
    Tout à fait d'accord avec Hemgé et Tatayo, il vaut mieux 'apprendre à pêcher que de donner du poisson'.
    Preuve faite avec le dernier post
    Peut tu me donner ses codes en entièrement ?
    Et je citerai également une phrase fort connue de ce forum et répétée à mainte reprise
    <<tu veux pas qu'on fasse ton projet quand même>>
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

Discussions similaires

  1. [MySQL] Tester si un champ est auto incrémenté
    Par NiRaDo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2008, 12h54
  2. "Nettoyer" les champs Identity auto-incrément
    Par rohstev dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 25/10/2006, 09h51
  3. Champs virtuel auto incrémenté dans une vue
    Par berceker united dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/06/2006, 14h33
  4. [BCB5][FB 1.5]IBDataSet et champ Auto-incrémenté
    Par Sitting Bull dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 21/07/2004, 15h37
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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