Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sql: suppression d'une chaine de caractère dans un champs

4 réponses
Avatar
Spectre
Bonjour,
petit problème de requête maj:
J'ai un champs "nom" dans lequel a été saisi le prénom et le nom des
personnes.

Je voudrais supprimer le prénom (que j'ai déjà recopié dans un autre champs)
du champs "nom."
On fait l'hypothèse que le prénom et le nom sont séparés par un espace et
que les prénoms ne sont pas composés (ex: jean dupont).

J'ai donc bati une requête sélection qui m'affiche bien la chaîne à
supprimer :
SELECT Left([nom],InStr([nom]," ")) AS prenom_a_supprimer, fich1.nom
FROM fich1
WHERE nom<>""

Le problème survient quand je veux la transformer en requête mise à jour,
pour supprimer la chaîne isolée (prenom_a_supprimer).
J'ai essayé beaucoup de méthodes,mais.... sans succès.

Merci pour votre aide, aide sur laquelle j'ai toujours pu compter. Bi

--
Spectre

4 réponses

Avatar
Eric
Bonsoir,

Je ferai de la manière suivante : Mettre à jour le champ Nom contenant
le prénom+nom en le remplacant par le nom seul ce qui donnerait:
Champ: Nom
Mise à jour:ExtracChaîne([Nom];DansChaîne([Nom];" ")+1)

ou en SQL:
UPDATE LaTable SET Nom = Mid([Nom],InStr([Nom]," ")+1);

Mais tu aurais pu tout faire en une seule opération:
Mettre le nom seul et le prénom dans le champ prenom qui au départ est
vide :
UPDATE LaTable SET Nom = Mid([Nom],InStr([nom]," ")+1), Prenom =
Left([Nom],InStr([nom]," ")-1);



Bonjour,
petit problème de requête maj:
J'ai un champs "nom" dans lequel a été saisi le prénom et le nom des
personnes.

Je voudrais supprimer le prénom (que j'ai déjà recopié dans un autre champs)
du champs "nom."
On fait l'hypothèse que le prénom et le nom sont séparés par un espace et
que les prénoms ne sont pas composés (ex: jean dupont).

J'ai donc bati une requête sélection qui m'affiche bien la chaîne à
supprimer :
SELECT Left([nom],InStr([nom]," ")) AS prenom_a_supprimer, fich1.nom
FROM fich1
WHERE nom<>""

Le problème survient quand je veux la transformer en requête mise à jour,
pour supprimer la chaîne isolée (prenom_a_supprimer).
J'ai essayé beaucoup de méthodes,mais.... sans succès.

Merci pour votre aide, aide sur laquelle j'ai toujours pu compter. Bi



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
mettre en critere Est Pas Null sur le nom
donc au sql, rajouter WHERE NOT ISNULL([Nom]) avant le ;

Bonsoir,

Je ferai de la manière suivante : Mettre à jour le champ Nom contenant
le prénom+nom en le remplacant par le nom seul ce qui donnerait:
Champ: Nom
Mise à jour:ExtracChaîne([Nom];DansChaîne([Nom];" ")+1)

ou en SQL:
UPDATE LaTable SET Nom = Mid([Nom],InStr([Nom]," ")+1);

Mais tu aurais pu tout faire en une seule opération:
Mettre le nom seul et le prénom dans le champ prenom qui au départ est
vide :
UPDATE LaTable SET Nom = Mid([Nom],InStr([nom]," ")+1), Prenom =
Left([Nom],InStr([nom]," ")-1);




Bonjour,
petit problème de requête maj:
J'ai un champs "nom" dans lequel a été saisi le prénom et le nom des
personnes.

Je voudrais supprimer le prénom (que j'ai déjà recopié dans un autre
champs) du champs "nom."
On fait l'hypothèse que le prénom et le nom sont séparés par un espace
et que les prénoms ne sont pas composés (ex: jean dupont).

J'ai donc bati une requête sélection qui m'affiche bien la chaîne à
supprimer :
SELECT Left([nom],InStr([nom]," ")) AS prenom_a_supprimer, fich1.nom
FROM fich1
WHERE nom<>""

Le problème survient quand je veux la transformer en requête mise à
jour, pour supprimer la chaîne isolée (prenom_a_supprimer).
J'ai essayé beaucoup de méthodes,mais.... sans succès.

Merci pour votre aide, aide sur laquelle j'ai toujours pu compter. Bi





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Spectre
Merci pour cette réponse vive comme l'éclair. J'ignorais l'existence de la
fonction ExtracChaîne. je m'y penche!.
Bi



"Eric" a écrit dans le message de news:

.../...
mettre en critere Est Pas Null sur le nom
donc au sql, rajouter WHERE NOT ISNULL([Nom]) avant le ;

Bonsoir,

Je ferai de la manière suivante : Mettre à jour le champ Nom contenant le
prénom+nom en le remplacant par le nom seul ce qui donnerait:
Champ: Nom
Mise à jour:ExtracChaîne([Nom];DansChaîne([Nom];" ")+1)

ou en SQL:
UPDATE LaTable SET Nom = Mid([Nom],InStr([Nom]," ")+1);

Mais tu aurais pu tout faire en une seule opération:
Mettre le nom seul et le prénom dans le champ prenom qui au départ est
vide :
UPDATE LaTable SET Nom = Mid([Nom],InStr([nom]," ")+1), Prenom =
Left([Nom],InStr([nom]," ")-1);




Bonjour,
petit problème de requête maj:
J'ai un champs "nom" dans lequel a été saisi le prénom et le nom des
personnes.

Je voudrais supprimer le prénom (que j'ai déjà recopié dans un autre
champs) du champs "nom."
On fait l'hypothèse que le prénom et le nom sont séparés par un espace
et que les prénoms ne sont pas composés (ex: jean dupont).

J'ai donc bati une requête sélection qui m'affiche bien la chaîne à
supprimer :
SELECT Left([nom],InStr([nom]," ")) AS prenom_a_supprimer, fich1.nom
FROM fich1
WHERE nom<>""

Le problème survient quand je veux la transformer en requête mise à
jour, pour supprimer la chaîne isolée (prenom_a_supprimer).
J'ai essayé beaucoup de méthodes,mais.... sans succès.

Merci pour votre aide, aide sur laquelle j'ai toujours pu compter. Bi





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,
fais une sauvegarde de la table avant la MAJ !!!

Merci pour cette réponse vive comme l'éclair. J'ignorais l'existence de la
fonction ExtracChaîne. je m'y penche!.
Bi



"Eric" a écrit dans le message de news:


.../...
mettre en critere Est Pas Null sur le nom
donc au sql, rajouter WHERE NOT ISNULL([Nom]) avant le ;


Bonsoir,

Je ferai de la manière suivante : Mettre à jour le champ Nom contenant le
prénom+nom en le remplacant par le nom seul ce qui donnerait:
Champ: Nom
Mise à jour:ExtracChaîne([Nom];DansChaîne([Nom];" ")+1)

ou en SQL:
UPDATE LaTable SET Nom = Mid([Nom],InStr([Nom]," ")+1);

Mais tu aurais pu tout faire en une seule opération:
Mettre le nom seul et le prénom dans le champ prenom qui au départ est
vide :
UPDATE LaTable SET Nom = Mid([Nom],InStr([nom]," ")+1), Prenom =
Left([Nom],InStr([nom]," ")-1);





Bonjour,
petit problème de requête maj:
J'ai un champs "nom" dans lequel a été saisi le prénom et le nom des
personnes.

Je voudrais supprimer le prénom (que j'ai déjà recopié dans un autre
champs) du champs "nom."
On fait l'hypothèse que le prénom et le nom sont séparés par un espace
et que les prénoms ne sont pas composés (ex: jean dupont).

J'ai donc bati une requête sélection qui m'affiche bien la chaîne à
supprimer :
SELECT Left([nom],InStr([nom]," ")) AS prenom_a_supprimer, fich1.nom
FROM fich1
WHERE nom<>""

Le problème survient quand je veux la transformer en requête mise à
jour, pour supprimer la chaîne isolée (prenom_a_supprimer).
J'ai essayé beaucoup de méthodes,mais.... sans succès.

Merci pour votre aide, aide sur laquelle j'ai toujours pu compter. Bi



--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr