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 :

Séparer prénom et nom dans des champs différents [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut Séparer prénom et nom dans des champs différents
    BONJOUR
    J'ai un champ "PrenomNom" avec des enregistrements comme Guy Dupont, Georges Dufour.
    Je voudrai séparer ces enregistrements dans des champs différents.
    C'est "déconcaténer" ce champs.
    Cela est il possible même avec des prénoms composés.
    Cela peut il se faire en langage sql ou autre.
    Pouvez vous me donnez une solution de syntaxe car je ne connais pas le Sql.
    Je vous remercie de votre aide.
    Guy

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 853
    Points : 44 222
    Points
    44 222
    Par défaut séparation prénom nom
    Voici une solution,

    Je considères que tu souhaites dans ta base remplacer le champ prenomnom par un champ prenom et un champ nom.

    Je passes par des requêtes.

    J'ai décomposé en plusieurs étape de façon à t'expliquer :

    1) Je crée une requête sur la table en mettant le champ nomprenom, la liste apparait
    2) je modifie ma requête en ajoutant un champ avec "créer' et j'utilise la fonction InStrRev prenant en 1er paramètre le champ, en second paramètre la chaine à rechercher , je n'utilise pas les 2 autres paramètres optionnels ). Le résultat me donne le nombre de caractère du prénom ( nbre de caractères avant l'espace plus lui-même ). Ce champ s'appele expr1. Je sauvegardes

    3) Je crée un nouveau champ utilisant la fonction gauche(nom_prenom,[expr1] Ce champ m’affiche le prénom
    Exemple avec "Jacques Martin", le résultat est Jacques

    4) j'utilise la fonction droite(nomprenom,nbcar(nom_prenom)-nbcar(expr2))
    Ca se complique mais en fait c en fait pas si compliqué nbcar(nom_prenom) retourne le nbre de caractères de nom_prenom et j'y enlève la longueur de expr2 du coup de récupères la partie droite de la chaine contenant le nom

    De là je me retrouve avec 1 requête contenant dans expr2 le prénom et dans expr3 le nom.

    5) Ensuite tu crée un champ nom et prénom dans la table, tu ajoutes ces champs dans la requête

    6) tu crée une nouvelle requête sur la requête 1

    7) tu passes cette requête en requête mise à jour
    dans le champ prénom en maj tu mets expr2, dans le champ nom expr3
    Une fois la requête exécutée tes champs nom et prénoms sont à jour

    Il te reste à supprimer le champ nomprenom dans la table, les 2 requêtes devenues inutiles et mettre à jours les éventuels formulaires et requêtes utilisant nom et prénom

    Ceci est optimisable, et attention à mon avis en cas de noms composés de 2 mots, cela posera prob.

    Je joint un exemple
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (25,6 Ko, 280 affichages)

  3. #3
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut reponse
    Bonjour
    Je te remercie de ton aide précieuse mais petit probleme, le resultat est croisé.
    J'ai les prénoms dans le champ nom et les noms dans le champ prénom.
    Comment effectuer la modif?
    Dans la requête de création de table?

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 853
    Points : 44 222
    Points
    44 222
    Par défaut prenom nom
    Renommes tout simplement tes champs nom devenant prénom et inversement

    Après dans le principe, c'est la même chose.

  5. #5
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut
    bonjour
    Cela fonctionne a merveille
    Encore merci
    Guy

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/09/2013, 14h56
  2. Réponses: 22
    Dernier message: 10/07/2011, 18h49
  3. Réponses: 2
    Dernier message: 12/06/2011, 17h04
  4. [AC-2003] Regle de validation sur des champs dates dans des tables différentes
    Par ingal30 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/03/2010, 19h42
  5. champ dans des tables différentes
    Par pepsister dans le forum IHM
    Réponses: 2
    Dernier message: 12/02/2010, 11h01

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