Bonjour,
j'ai une table access avec des phrases dans une colone
STREET_1 , et je voudrais savoir s'il existe une fonction
qui me permettrai de tester chaque mot un par un
Bonjour,
j'ai une table access avec des phrases dans une colone
STREET_1 , et je voudrais savoir s'il existe une fonction
qui me permettrai de tester chaque mot un par un

[CODE]avarMotsClefs = Split(Nz(Me.STREET_1), " ")
For Each varMotClef In avarMotsClefs
' Pour chaque mot, faire un test ICI
Next[CODE]
Merci pour cette réponse
pour les déclaration:
avarMotsClefs est un tableau de string?
et varMotClef un string?

Un simple :suffira
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim avarMotsClefs, varMotClef
J'ai un message d'erreur: Invalid use of Me keywords
je ne sais pas à quoi sert Me
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Function Dechire(ByVal Adress As String) Dim avarMotsClefs, varMotClef avarMotsClefs = Split(Nz(Me.STREET_1), " ") For Each varMotClef In avarMotsClefs ' Pour chaque mot, faire un test ICI If (varMotClef = "R ") Then varMotClef = "Rue " ElseIf (varMotClef = "ALL ") Then varMotClef = "Allée " End If End Function








Bonjour,
d'abord le mot Next est manquant de la boucle for each.
tu as une fonction et tu n'affecte pas le résultat final au nom de la fonction
Dechire = varmotcle
A+
ok pour le next
mais si je met Dechire = varmotclef
il ne va rester qu'un mot dans l'enregistrement
puisque varmotclef represente un mot de la phrase
peut etre dois-je mettre Dechire = avarMotsClefs








Bonjour,
j'ai mis comme exemple dechire = varmotcle, il faut mettre le résultat final dans le nom de la fonction.
A+
Voila mon code
j'ai toujours le message: "Invalid Use of Me Keywors"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Public Function Dechire(ByVal Adress As String) Dim avarMotsClefs, varMotClef avarMotsClefs = Split(Nz(Me.Adress), " ") For Each varMotClef In avarMotsClefs ' Pour chaque mot, faire un test ICI If (varMotClef = "R ") Then varMotClef = "Rue " ElseIf (varMotClef = "ALL ") Then varMotClef = "Allée " End If Dechire = avarMotsClefs Next End Function
Déjà je vien de voir que la fonction Split n'exister pas dans access97
donc je l'ai rajouter
Peut etre que cela vient du fait que j'ai access 97 que "Me" ne marche pas?








bonjour,
il faut toujours mettre l'affectation du résultat final au nom de la fonction avnt l'instruction End Function.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Dechire = avarMotsClefs Next
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 next Dechire = avarMotsClefs End Function
Merci Soltani1 pour tes réponse mais j'ai tj le meme message
d'erreur...
En fait je ne comprend pas la syntaxe du Split
et j'ai du mal à trouver des explications sur le "Me."








Bonjour,
Me veut dire le formulaire courant.
A+
ok c'est pour ça que sa marche pas
parce que j'ai pas de formulaire
en fait je vais lancer le code à partir d'une requete:
"UPDATE Table1 SET STREET_1 = Dechire(STREET_1);"
donc pa besoin de mettre Me?








Bonjour,
Il faut toujours essayer pour voir si ca fonctionne ou pas, puis s'il y'a une erreur de voir le problème.
A+
Bon, je crois que j'y suis presque
Donc la fonction Split marche bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Public Function Dechire(ByVal Adress As String) Dim avarMotsClefs, varMotClef avarMotsClefs = Split((Adress), " ") For Each varMotClef In avarMotsClefs ' Pour chaque mot, faire un test ICI MsgBox varMotClef If (varMotClef = "R ") Then varMotClef = "Rue " ElseIf (varMotClef = "ALL ") Then varMotClef = "Allée " ElseIf ((varMotClef = "AV") Then varMotClef = "Avenue" End If Next Dechire = avarMotsClefs End Function
j'ai tester avec des MsgBox elle renvoi bien tout les mots
donc le varMotClef est modifié
mais par contre je pense que j'ai un probleme dans mon retour
car sa renvoie le avarMotsClefs d'origine








bonjour,
Donne moi un exemple de la fonction dechire (quel résultat tu veux renvoyer)
A+
exemple:
en entrée adress = AV DES ALL
et je voudrais en sorti : Avenue DES Allée
d'aprés mes test le varMotClef est modifié mais pas
le avarMotsClefs








bonjour,
essaye ceci :
resultat = ''
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 For Each varMotClef In avarMotsClefs ' Pour chaque mot, faire un test ICI If (varMotClef = "R ") Then resultat = resultat & "Rue " ElseIf (varMotClef = "ALL ") Then resultat = resultat & "Allée " ElseIf ((varMotClef = "AV") Then resultat = resultat & "Avenue " elseif resultat = resultat & " " & varmotclef End If Next Dechire = resultat
Partager