Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Couper un champ en deux [ Access / Requêtes ] (MasterCent)

mercredi 12 mars 2008 à 12:13:58 | Couper un champ en deux

MasterCent

Bonjour à tous :

// Ceci n'est pas un dépanage, mais une préparation à une formation en Access !!! //
// Je n'ai pas besoin d'aide, mais plutôt d'idées à proposer //

Petit cas pratique : Je dois corriger une table dans laquel un champ contient le NOM et le PRENOM, appelé _NP . 
Sachant que c'est une très mauvaise idée de n'avoir qu'un champ (atomisation de l'info),
je décide de créer deux champs, l'un pour les _NOM, l'autre pour les _PRENOM.

Quelles requêtes utiliser pour automatiser la transition ( ou en tout cas, pour une partie du travail ) ?
Attention : Il y a des noms et prénoms composés tel que : Bach Karl Philippe Emmanuel ou Poivre d'Arvor Patrick.

Bon brainstorming.

 

dimanche 30 mars 2008 à 11:23:51 | Re : Couper un champ en deux

deutsch

Réponse acceptée !
Slt

Mon vieux c'est pas une requete SQL qu'il te faut mais un script Vb ou autre pour pouvoir decompose N&Pre
l'astuce c'est que tu dois commencé
par la fin du champ jusqu'a trouvé un blanc ensuite inséré le résultat dans la table c'est la meuilleurs solution 

Bon courage
 

lundi 31 mars 2008 à 15:07:18 | Re : Couper un champ en deux

MasterCent

Réponse acceptée !
Slt,
Merci à tous ceux qui se sont interressés de près ou de loin à la question.

La réponse est d'abord "culturelle" / y a t-il une prédominance dans la structure nom - prénom,  
par exemple, en Espagne, il y aura en majorité deux noms de familles, etc

Sur base de cette étude, et dans le cas (facile) ou l'habitude serait un nom et un prénom, voici quelques instructions SQL "génériques" pour couper le champ :

--Nettoyage des espaces superflus
update MATABLE set NP = trim(NP) ;

-- Longueur du champ, position du premier blanc, position du suivant ou 0, sous le nom Q_SECTIONS
SELECT len( NP ) as  LONGUEUR  , inStr( 1 , NP , " " )  as PREMIERBLANC , inStr( PREMIERBLANC+1 , NP , " " ) AS SUIVANTBLANC , ID from MATABLE

-- Liaisons de Q_SECTIONS avec MATABLE, pour calculer les valeurs, sous le nom Q_NP
Select MATABLE.ID ,  NP , Left(NP,PREMIERBLANC-1) as N , Right(NP,LONGUEUR-PREMIERBLANC) from MATABLE join Q_SECTIONS on MATABLE.ID = Q_SECTIONS.ID where MATABLE.N is null and SUIVANTBLANC = 0

-- Mise à jour de MATABLE sur base de Q_NP
UPDATE MATABLE left join Q_NP on  MATABLE.ID = Q_NP.ID
SET MATABLE.NOM = N , MATABLE.PRENOM = P


A l'issu de cette opération, il devrait rester quelques enregistrements à traiter.
De nouveau, il faudra chercher si il existe une majorité dans les cas non traités, les particules ( de, van, ... ) afin de rétablir une traitement.
En final, il ne restera plus que quelques cas dont le nombre ne justifiera plus une automaisation, mais bien un traitement au cas par cas.

Pour info, cette solution s'inspire de la loi de Pareto, qui met en lumière que 80% des cas demanderont 20% de l'énergie...
(cfr
http://fr.wikipedia.org/wiki/Loi_de_Pareto  80% )

Ce n'est pas LA solution, mais bien un exemple de solution.
Le passage par un script est aussi une solution tentante, (merci deutsch), mais pas plus facile ! (j'ai aussi testé )

...


mardi 1 avril 2008 à 09:49:40 | Re : Couper un champ en deux

deutsch

Cher MasterCent

    la requete que tu viens de nous faire voir est du VB avec du SQL
ce qu'il nous demande c'est du SQL



Cette discussion est classé dans : champ, couper, prenom, cas


Répondre à ce message

Sujets en rapport avec ce message

remplir automatiquement un champ de formulaire access [ par D3m3T05 ] salut a tous, j'ai un petit probleme:je dispose d'un formulaire dans lequel je dois renseigner un nom choisi dans une liste deroulante.j'aimerait une Requête de recherche [ par evay16 ] Bonjour,Voila, pour l'un de mes examens d'informatique, nous avons du concevoir sous Access, la base de données d'une vidéothèque.J'ai organisé une Ta Sélection les N premiers mots d'un champ texte [ par keskispas ] Bonjour tout le monde !Je cherche quelque chose de super simple : Retourner les N premiers mots d'un champ de texte.Dans ce cas, le séparateur serait Stocker une requête dans un champ [ par DMK04 ] Bonjour,Je voudrais savoir si il est risqué de stocker une requête SQL dans un champ d'une table ? Si oui, quels sont les risques ?Merci d'avance pour UPDATE sur plusieurs tables [ par noreille79 ] Voilà, j'ai un problème de syntaxe pour mes requêtes, pouvez vous m'aiderN'hésitez pas à me poser des questions!<?php<br / select et division [ par cudenetf ] bonjour,j'ai une table qui contient des articles avec un champ valeur_stk et un champ quantiteje voudrais lors de ma requete selectionner "valeur_stk/ Insertion [ par le_totophe ] Bonjour à tous, je voudrais gérer des contacts au sein d'une base de données qui comporte (schématiquement) une table avec un champ contact_id auto-in Récupération d'un champ ntext dans un programme C# [ par guylbu ] Bonjour,Je développe un programme en C# dans lequel je lance une requête sur une base de données SQL Server.J'initalise ma connection avec une string DISTINCT sur champ Mémo [ par citt ] Bonjour,J'essaye de faire une requete avec un distinct sur un champs mémo mais il me coupe les resultats de la requete.Ce qui fait que je n'ai pas la choix champs Texte ou Memo / optimisation [ par yan35 ] Bonsoir,Je voudrais optimiser 1 base Access qui commence à ramer avec 40000 enregistrements d'une longueur de plus de 400 octets, dans 1 table.J'ai un


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,27 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.