OVH Cloud OVH Cloud

Requête mise à jour

16 réponses
Avatar
seemeseeme
Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul :-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo

10 réponses

1 2
Avatar
ze Titi
Bonjour seemeseeme

Mid(Replace(tonChamp;"_";":");6;len(tonChamp)-7)

devrait répondre à tes attentes.

Dis-nous !

Dans ton message <# du mercredi
Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul :-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo


--
Voilou !
Bon courage !
Cordialement,
ze Titi

Avatar
Pierre CFI [mvp]
bonjour
Replace(Mid([ton champ];6);":";"_")

--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"seemeseeme" a écrit dans le message de news:
%
Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul
:-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo




Avatar
ze Titi
Grr, j'ai inversé :

Mid(Replace(tonChamp;":";"_");6;len(tonChamp)-7)

Dans ton message du mercredi
Bonjour seemeseeme

Mid(Replace(tonChamp;"_";":");6;len(tonChamp)-7)

devrait répondre à tes attentes.

Dis-nous !

Dans ton message <# du mercredi
Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul
:-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo



--
Voilou !
Bon courage !
Cordialement,
ze Titi


Avatar
Eric
Bonjour,

Si ton champ contient les < et > et que la chaine de caractères du début
n'est pas toujours égale à 4 (ici : kuid ), tu peux esssayer aussi ceci:

Replace(Mid(LeChamp, InStr(LeChamp, ":") + 1, _
InStrRev(LeChamp, ">") - InStr(LeChamp, ":") - 1), ":", "_")

Dans la requête Mise à jour via le concepteur de requêtes, remplaces les
, par des ; et mets entre des crochets droits - [ et ] - le champ.
Access traduira les fonctions en Fr à l'exception de InstrRev() et
Replace().

Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul :-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo




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

Avatar
seemeseeme
Dans mon ignorance j'avais oublié de vous dire que la longueur du champ est
variable :(
En tous cas merci beaucoup pour la rapidité de votre réponse ! c'est Lucky
Luke ici..

Ca marche super bien, mais seulement pour les champs de même longueur
évidemment. Alors j'ai essayé de faire un mix entre vos deux formules, mais
je ne m'en sors pas.
Voici :
- on peut avoir "kuid" ou bien "kuid2"
- le nombre de chiffres est malheureusement variable
- on peut rencontrer aussi le champ sous cette forme :
<kuid2:100230:28000:1> , et dans ce cas, vous l'avez compris, je le voudrais
sous cette forme : 100230_28000_1

Je crois qu'une petite explication s'impose :
Ce sont des noms de fichiers qu'il faut enregistrer. D'où la nécessité
d'enlever les deux points qui ne sont pas acceptés.
Et puis je voudrais virer les "kuid" ou "kuid2" parce que c'est redondant.

Merci de m'éclairer,

Cordialement,
Cloclo



"seemeseeme" a écrit dans le message de news:
%
Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul
:-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo




Avatar
ze Titi
Pô grave, j'oublie toujours quelque chose aussi, moi...
En tout cas, la solution d'Eric doit te convenir...

Dans ton message du mercredi
Dans mon ignorance j'avais oublié de vous dire que la longueur du champ est
variable :(
En tous cas merci beaucoup pour la rapidité de votre réponse ! c'est Lucky
Luke ici..

Ca marche super bien, mais seulement pour les champs de même longueur
évidemment. Alors j'ai essayé de faire un mix entre vos deux formules, mais
je ne m'en sors pas.
Voici :
- on peut avoir "kuid" ou bien "kuid2"
- le nombre de chiffres est malheureusement variable
- on peut rencontrer aussi le champ sous cette forme : <kuid2:100230:28000:1>
, et dans ce cas, vous l'avez compris, je le voudrais sous cette forme :
100230_28000_1

Je crois qu'une petite explication s'impose :
Ce sont des noms de fichiers qu'il faut enregistrer. D'où la nécessité
d'enlever les deux points qui ne sont pas acceptés.
Et puis je voudrais virer les "kuid" ou "kuid2" parce que c'est redondant.

Merci de m'éclairer,

Cordialement,
Cloclo



"seemeseeme" a écrit dans le message de news:
%
Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul
:-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais pas
comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo





--
Voilou !
Bon courage !
Cordialement,
ze Titi


Avatar
Eric
Bonjour ze Titi,

Sous réserve qu'il y a ses chevrons dans le champs. Sinon, reste plus
qu'à adapter ;-)

Pô grave, j'oublie toujours quelque chose aussi, moi...
En tout cas, la solution d'Eric doit te convenir...



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

Avatar
ze Titi
Bonjour Eric

Il n'a pas dit le contraire... Tu as donc toutes les raisons de croire
que c'est bon ! Je suis d'un naturel optimiste... lol

Dans ton message <u$ du mercredi
Bonjour ze Titi,

Sous réserve qu'il y a ses chevrons dans le champs. Sinon, reste plus qu'à
adapter ;-)

Pô grave, j'oublie toujours quelque chose aussi, moi...
En tout cas, la solution d'Eric doit te convenir...




--
Voilou !
Bon courage !
Cordialement,
ze Titi


Avatar
seemeseeme
Merci Eric,

Alors voilà, j'ai collé cette formule dans le champ MAJ :
Remplacer(Mid([Kuid]; InStr([Kuid]; ":") + 1; _InStrRev([Kuid]; ">") -
InStr([Kuid]; ":") - 1); ":"; "_")

pour l'instant il me dit que la syntaxe n'est pas correcte ??! tu veux bien
voir la formule pour voir où j'ai fait une erreur ?

Cordialement :-)


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

Bonjour,

Si ton champ contient les < et > et que la chaine de caractères du début
n'est pas toujours égale à 4 (ici : kuid ), tu peux esssayer aussi ceci:

Replace(Mid(LeChamp, InStr(LeChamp, ":") + 1, _
InStrRev(LeChamp, ">") - InStr(LeChamp, ":") - 1), ":", "_")

Dans la requête Mise à jour via le concepteur de requêtes, remplaces les ,
par des ; et mets entre des crochets droits - [ et ] - le champ. Access
traduira les fonctions en Fr à l'exception de InstrRev() et Replace().

Bonjour,

Dans un champ indexé sans doublons j'ai du texte sous cette forme :
<kuid:100230:28000>
Et je le voudrais sous celle-ci :
100230_28000

Je me suis évidemment tourné vers la requête MAJ, mais je suis assez nul
:-)
Je voulais utiliser NBCar et Droite dans le champ MAJ, mais je ne sais
pas comment faire.

Merci d'avance pour votre aide.

Cordialement,
Cloclo




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



Avatar
Eric
re,

Soit LeChamp le NOM du champ que tu veux traiter.
Mets dans la zone Mise à jour de ta requête:
Replace(Mid([LeChamp];InStr([LeChamp]; ":") + 1;InStrRev([LeChamp]; ">")
- InStr([LeChamp]; ":") - 1); ":"; "_")

le _ avant le InstrRev n'est pas utile car tu fais ça dans le concepteur
de requêtes et je t'avais donné le code en vb.

Si ton champ qui contient la suite de caractères <kuid2:100230:28000:1>
s'appelle Kuid alors remplaces 'LeChamp' dans le formule par Kuid

Merci Eric,

Alors voilà, j'ai collé cette formule dans le champ MAJ :
Remplacer(Mid([Kuid]; InStr([Kuid]; ":") + 1; _InStrRev([Kuid]; ">") -
InStr([Kuid]; ":") - 1); ":"; "_")

pour l'instant il me dit que la syntaxe n'est pas correcte ??! tu veux bien
voir la formule pour voir où j'ai fait une erreur ?

Cordialement :-)


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

Bonjour,

Si ton champ contient les < et > et que la chaine de caractères du début
n'est pas toujours égale à 4 (ici : kuid ), tu peux esssayer aussi ceci:

Replace(Mid(LeChamp, InStr(LeChamp, ":") + 1, _
InStrRev(LeChamp, ">") - InStr(LeChamp, ":") - 1), ":", "_")

Dans la requête Mise à jour via le concepteur de requêtes, remplaces les ,
par des ; et mets entre des crochets droits - [ et ] - le champ. Access
traduira les fonctions en Fr à l'exception de InstrRev() et Replace().




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


1 2