|
Trouver une ressource
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)
Informations & options pour cette discussion
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
Rechercher un champ d'une table "en tant que chaîne" dans le champ d'une autre table [ par Pecas ]
Bonjour à tous/toutes, je suis nouveau dans le forum aussi bien que dans Access-SQL. Voici ma question :J'ai une table [Vieux prenoms] avec le champ P
comparer deux champs [ par pascb423 ]
Bonjour,est-il possible de comparer deux champ de base de donnée de telle manière que dans une requète mysql, on puisse prendre tous les enregistremen
Procedure stockée [ par drcmomo ]
Bonjour tout le monde,Je voulais savoir si on peut passer une liste de paramétre ou un DataTable dans une procédure stockée?Je m'explique, je dois par
Classement selon le champ 'prix', mais en tenant compte du champ 'devise' [ par goldenboy68 ]
Bonjour,Alors voilà, j'ai un classement de produits à faire selon le prix de ceux-ci. Le problème c'est qu'ils ne sont pas tous entrés dans la même de
[curseur] insérer 3 premiers meilleurs salaires [ par sikove ]
Salut, voila ça fait un moment que je cherche comment faire cette requete : " inserer dans une table temporaire les 3 meilleurs salaires d'une table d
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
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|