J'ai un champ dans lequel il y a plusieurs informations:
exemple: sous la columne nom, =E0 la rang=E9e 1 :
chat;chien;girafe;
rang=E9e 2: chien;l=E9opard
J'aimerais dans un formulaire, dans une zone de texte ou=20
autre, que cette zone n'affiche qu'une partie.
exemple, que le deuxi=E8me nom (chien et l=E9opard).
Il serait encore mieux de voir dans une zone de liste les=20
diff=E9rents noms de la meme rang=E9e-colomne mais sur=20
diff=E9rentes rang=E9e. De tel sorte que je puissse en choisir=20
un et par la suite faire un lien vers une autre page,=20
consid=E9rant ce choix.
En effet, SPLIT(...) retourne un vecteur ( un tableau mais qui n'a qu'une dimension ), donc
SPLIT(...) (1)
retourne le second élément de ce vecteur, chien et léopard.
SPLIT existe également sous Access 2000 mais ne peut pas y être utilisé dans une requête. Il faudrait l'encapsuler, tout bêtement, dans un module standard (pas de classe, pas de formulaire):
------------------------------------------------------------------------ Public Function Écartille( x As String) As String( ) ' fonction qui retourne un vecteur de chaînes
Écartille=Split(x, ";") ' ne pas utiliser SET
End Function --------------------------------------------------------------------------
et alors, utiliser, dans la requête:
SELECT Écartille(champ1)(1), Écartille(champ2)(1) FROM maTable
Bien sûr, la syntaxe nom()() peut surprendre, mais la première parenthèse contient des arguments pour la fonction, nom, et la seconde contient un indice-positionnel pour sélection d'élement d'un vecteur. On ne voit pas cet animal à tout les jours, mais cela ne veut pas dire que c'est de la haute voltige pour autant... :-)
Espérant être utile, Vanderghast, Access MVP
"George" wrote in message news:1e60401c45559$c0aed4b0$ Bonjour,
J'ai un champ dans lequel il y a plusieurs informations:
exemple: sous la columne nom, à la rangée 1 : chat;chien;girafe;
rangée 2: chien;léopard
J'aimerais dans un formulaire, dans une zone de texte ou autre, que cette zone n'affiche qu'une partie. exemple, que le deuxième nom (chien et léopard).
Il serait encore mieux de voir dans une zone de liste les différents noms de la meme rangée-colomne mais sur différentes rangée. De tel sorte que je puissse en choisir un et par la suite faire un lien vers une autre page, considérant ce choix.
Merci
Salut,
Un grand coup de règle sur les doigts pour une table non normalisée.
Nonobstant, ce qui suit peut aider ( Access 2002 ou 2003) :
En effet, SPLIT(...) retourne un vecteur ( un tableau mais qui n'a qu'une
dimension ), donc
SPLIT(...) (1)
retourne le second élément de ce vecteur, chien et léopard.
SPLIT existe également sous Access 2000 mais ne peut pas y être utilisé dans
une requête. Il faudrait l'encapsuler, tout bêtement, dans un module
standard (pas de classe, pas de formulaire):
------------------------------------------------------------------------
Public Function Écartille( x As String) As String( )
' fonction qui retourne un vecteur de chaînes
Écartille=Split(x, ";") ' ne pas utiliser SET
End Function
--------------------------------------------------------------------------
et alors, utiliser, dans la requête:
SELECT Écartille(champ1)(1), Écartille(champ2)(1)
FROM maTable
Bien sûr, la syntaxe nom()() peut surprendre, mais la première parenthèse
contient des arguments pour la fonction, nom, et la seconde contient un
indice-positionnel pour sélection d'élement d'un vecteur. On ne voit pas
cet animal à tout les jours, mais cela ne veut pas dire que c'est de la
haute voltige pour autant... :-)
Espérant être utile,
Vanderghast, Access MVP
"George" <anonymous@discussions.microsoft.com> wrote in message
news:1e60401c45559$c0aed4b0$a101280a@phx.gbl...
Bonjour,
J'ai un champ dans lequel il y a plusieurs informations:
exemple: sous la columne nom, à la rangée 1 :
chat;chien;girafe;
rangée 2: chien;léopard
J'aimerais dans un formulaire, dans une zone de texte ou
autre, que cette zone n'affiche qu'une partie.
exemple, que le deuxième nom (chien et léopard).
Il serait encore mieux de voir dans une zone de liste les
différents noms de la meme rangée-colomne mais sur
différentes rangée. De tel sorte que je puissse en choisir
un et par la suite faire un lien vers une autre page,
considérant ce choix.
En effet, SPLIT(...) retourne un vecteur ( un tableau mais qui n'a qu'une dimension ), donc
SPLIT(...) (1)
retourne le second élément de ce vecteur, chien et léopard.
SPLIT existe également sous Access 2000 mais ne peut pas y être utilisé dans une requête. Il faudrait l'encapsuler, tout bêtement, dans un module standard (pas de classe, pas de formulaire):
------------------------------------------------------------------------ Public Function Écartille( x As String) As String( ) ' fonction qui retourne un vecteur de chaînes
Écartille=Split(x, ";") ' ne pas utiliser SET
End Function --------------------------------------------------------------------------
et alors, utiliser, dans la requête:
SELECT Écartille(champ1)(1), Écartille(champ2)(1) FROM maTable
Bien sûr, la syntaxe nom()() peut surprendre, mais la première parenthèse contient des arguments pour la fonction, nom, et la seconde contient un indice-positionnel pour sélection d'élement d'un vecteur. On ne voit pas cet animal à tout les jours, mais cela ne veut pas dire que c'est de la haute voltige pour autant... :-)
Espérant être utile, Vanderghast, Access MVP
"George" wrote in message news:1e60401c45559$c0aed4b0$ Bonjour,
J'ai un champ dans lequel il y a plusieurs informations:
exemple: sous la columne nom, à la rangée 1 : chat;chien;girafe;
rangée 2: chien;léopard
J'aimerais dans un formulaire, dans une zone de texte ou autre, que cette zone n'affiche qu'une partie. exemple, que le deuxième nom (chien et léopard).
Il serait encore mieux de voir dans une zone de liste les différents noms de la meme rangée-colomne mais sur différentes rangée. De tel sorte que je puissse en choisir un et par la suite faire un lien vers une autre page, considérant ce choix.