Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer par le
module ?
Encore merci d'avance
Bien à vous
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer par le
module ?
Encore merci d'avance
Bien à vous
Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer par le
module ?
Encore merci d'avance
Bien à vous
eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
Je vais te rendre fou je crois :(
j' ai placer ton "texte" tel quel dans un module 1.
j'ai placer la requète select.... dans ma requète de la table PRODUITS FIN.
J'ai changer entreprises en DEBATISSER, c'est le champ dans lequel le troisième
mots doit être "puisé" et Entreprise en PRODUITS FIN.
Dans une colonne (avec expression comme opération) qui s'appelle NEW, je place
ta requète, il me dit qu'il manque une parenthèse pour la sous-requète !!!
Cela donne : NEW :SELECT
IIf(Len(n_ieme_mot([DEBATISSER],2))>5,n_ieme_mot([DEBATISSER],2),"") AS mot
FROM PRODUITS FIN;
Pour se simplifier la vie (yes), ne tenons plus compte, stp, d'une longueur de
mot mais uniquement de la selection du 3ème mots.
La longueur pourrais m'être utile dans le futur mais n'est pas indispensable
pour l'instant.
En espèrant ne pas te donner des cheveux gris,
passe une bonne fin de journée
Encore un grand merci pour ton aide.
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
Je vais te rendre fou je crois :(
j' ai placer ton "texte" tel quel dans un module 1.
j'ai placer la requète select.... dans ma requète de la table PRODUITS FIN.
J'ai changer entreprises en DEBATISSER, c'est le champ dans lequel le troisième
mots doit être "puisé" et Entreprise en PRODUITS FIN.
Dans une colonne (avec expression comme opération) qui s'appelle NEW, je place
ta requète, il me dit qu'il manque une parenthèse pour la sous-requète !!!
Cela donne : NEW :SELECT
IIf(Len(n_ieme_mot([DEBATISSER],2))>5,n_ieme_mot([DEBATISSER],2),"") AS mot
FROM PRODUITS FIN;
Pour se simplifier la vie (yes), ne tenons plus compte, stp, d'une longueur de
mot mais uniquement de la selection du 3ème mots.
La longueur pourrais m'être utile dans le futur mais n'est pas indispensable
pour l'instant.
En espèrant ne pas te donner des cheveux gris,
passe une bonne fin de journée
Encore un grand merci pour ton aide.
Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
Je vais te rendre fou je crois :(
j' ai placer ton "texte" tel quel dans un module 1.
j'ai placer la requète select.... dans ma requète de la table PRODUITS FIN.
J'ai changer entreprises en DEBATISSER, c'est le champ dans lequel le troisième
mots doit être "puisé" et Entreprise en PRODUITS FIN.
Dans une colonne (avec expression comme opération) qui s'appelle NEW, je place
ta requète, il me dit qu'il manque une parenthèse pour la sous-requète !!!
Cela donne : NEW :SELECT
IIf(Len(n_ieme_mot([DEBATISSER],2))>5,n_ieme_mot([DEBATISSER],2),"") AS mot
FROM PRODUITS FIN;
Pour se simplifier la vie (yes), ne tenons plus compte, stp, d'une longueur de
mot mais uniquement de la selection du 3ème mots.
La longueur pourrais m'être utile dans le futur mais n'est pas indispensable
pour l'instant.
En espèrant ne pas te donner des cheveux gris,
passe une bonne fin de journée
Encore un grand merci pour ton aide.
eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
eoliusone a écrit :
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Fabien a écrit le 24/09/2008 à 16h39 :
eoliusone a écrit :
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic comport
une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Fabien a écrit le 24/09/2008 à 16h39 :
eoliusone a écrit :
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic comport
une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic comport
une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
eoliusone a écrit le 26/09/2008 à 10h28 :Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Rebonjour,
si on supprime la fonction en rapport avec la taille du mot, ne faut-il pas
changer qqchose dans le code ?
Bonne journée à toi et au plaisir de te lire
:-)
eoliusone a écrit le 26/09/2008 à 10h28 :
Fabien a écrit le 24/09/2008 à 16h39 :
eoliusone a écrit :
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Rebonjour,
si on supprime la fonction en rapport avec la taille du mot, ne faut-il pas
changer qqchose dans le code ?
Bonne journée à toi et au plaisir de te lire
:-)
eoliusone a écrit le 26/09/2008 à 10h28 :Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas, de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné. (est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est >5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Rebonjour,
si on supprime la fonction en rapport avec la taille du mot, ne faut-il pas
changer qqchose dans le code ?
Bonne journée à toi et au plaisir de te lire
:-)
eoliusone a écrit :eoliusone a écrit le 26/09/2008 à 10h28 :Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas,
de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné.
(est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours
passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est
>5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Rebonjour,
si on supprime la fonction en rapport avec la taille du mot, ne faut-il pas
changer qqchose dans le code ?
Bonne journée à toi et au plaisir de te lire
:-)
Si tu enleve la fonction Len alors
le iif n'as plus lieu d'être et tu laisses n_ieme_mot(Champ;2). Ta
colonne contiendrat le 2 mot de ton champs
@+
eoliusone a écrit :
eoliusone a écrit le 26/09/2008 à 10h28 :
Fabien a écrit le 24/09/2008 à 16h39 :
eoliusone a écrit :
Fabien a écrit le 24/09/2008 à 08h06 :
eoliusone a écrit :
Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas,
de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné.
(est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours
passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est
>5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Rebonjour,
si on supprime la fonction en rapport avec la taille du mot, ne faut-il pas
changer qqchose dans le code ?
Bonne journée à toi et au plaisir de te lire
:-)
Si tu enleve la fonction Len alors
le iif n'as plus lieu d'être et tu laisses n_ieme_mot(Champ;2). Ta
colonne contiendrat le 2 mot de ton champs
@+
eoliusone a écrit :eoliusone a écrit le 26/09/2008 à 10h28 :Fabien a écrit le 24/09/2008 à 16h39 :eoliusone a écrit :Fabien a écrit le 24/09/2008 à 08h06 :eoliusone a écrit :Bonjour à toutes et tous,
un petit problème pour une grande solution !
j'ai un champ article en texte qui comporte plusieurs infos, ex( golf 6
cabriolet 5 portes bleu clair diesel ). Je souhaite lors d'une
requète
n'afficher que le troisième mots en partant de la gauche.
Petit plus : est-il éventuellement possible, dans un second cas,
de
spécifier
que le mot doit avoir au minimum 5 caractères.
Merci d'avance pour cette info plus qu'utile.
Bien à vous
Eoliusone
Bonjour
Tu peux utiliser une fonction externe que tu enregistre dans un module
Public function n_ieme_mot(lachaine as string, Rang_mot as integer) as
string
Dim vtab as variant
Vtab=split(lachaine,chr(32)) ' On converti la chaine en un tableau. Le
Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
if ubound(vtab)<rang_mot then 'S'il y a moins d'éléments
dans
le
tableau que le rang du mot recherché
N_ieme_mot = "" ' on retourne vide
else
N_ieme_mot=Vtab(Rang_mot) ' sinon on retourne le mot
end if
end function
Pour la longueur tu peux utiliser len().
Dans ta requete
champtest :
iif(len(n_ieme_mot([monchamp];3))>=5;N_ieme_mot([NomChamp];3);"")
@+
merci Fabien,
petit problème, il me signale qu'il y a un erreur de syntaxe dans le
module,
vérifier code..
Je n'ai rien changé dans le code que vous m'avez donné.
(est-ce
un erreur de ma
part ?)
ps: pourriez-vous faire en sorte que le code prennent d'office le
troisième
mots quelque soit sa longueur (pour un autre champs).
Et ou dois-je changer la variable si c'est le cinquième mot qui
m'interresse ?
Est-il possible d'avoir un requète directe ou on doit toujours
passer
par le
module ?
Encore merci d'avance
Bien à vous
re
J'ai pris le temps de tester ;-) et de commenter
Public Function n_ieme_mot(lachaine As String, Rang_mot As Integer) As
String
'Lachaine : chaine dans laquelle on recherche
'Rang_mot : le rang du mot recherché dans Lachaine
'ex n_ieme_mot("aaaaa bbbbb ccccc",2) retourne bbbbb
Dim vtab As Variant
vtab = Split(lachaine, Chr(32)) ' On converti la chaine en un tableau.
Le Blanc (chr(32)) permet d'indiquer ce qui sépare les mots
If UBound(vtab) < Rang_mot - 1 Then 'S'il y a moins
d'éléments
dans le
tableau que le rang du mot recherché
n_ieme_mot = "" ' on retourne vide
Else
n_ieme_mot = vtab(Rang_mot - 1) ' sinon on retourne le mot
End If
End Function
et le sql avec une de mes tables
SELECT
IIf(Len(n_ieme_mot([entrep],2))>5,n_ieme_mot([entrep],2),"") AS
mot
FROM Entreprises;
en français : si la longueur du 2ieme mot du nom d'entreprise est
>5
alors on renvoi le 2ieme mot sinon on renvoi "".
@+
Bonjour Fabien,
je suis à nouveau de retour sur ce problème qui persiste.
Je place IIF.... et il me retourne une erreur "le module visual basic
comport une erreur de syntaxe"
Il me mets alors en surbrillant le mot LEN dans la requète..
Suis-je gauche...
Au plaisir et merci encore
Rebonjour,
si on supprime la fonction en rapport avec la taille du mot, ne faut-il pas
changer qqchose dans le code ?
Bonne journée à toi et au plaisir de te lire
:-)
Si tu enleve la fonction Len alors
le iif n'as plus lieu d'être et tu laisses n_ieme_mot(Champ;2). Ta
colonne contiendrat le 2 mot de ton champs
@+