Bonjour,
J'ai deux tables :
- produits
- couleurs
La table "couleurs" contient deux champs :
- codeCouleur (Id Unique)
- libelle
La table produits contient un champ "codesdesCouleurs".
Dans ce champ on trouve les "codeCouleurs" de la table "couleurs" séparés
par des "|" car il y en a plusieurs (peut-être aurais-je du faire
autrement
mais c'est la seule solution que j'ai trouvée à l'époque) associés à un
même
produit.
Ma problèmatique :
Je souhaite créer une requête qui reprend les champs de la table produit
auxquels je souhaite ajouter un champ "libellesCouleurs" dans lequel les
"codesCouleurs" entre "|" du champs "codesdesCouleurs" sont remplacés par
leur "libelle" de la table "couleurs".
Ma question :
Comment procèder ?
Merci d'avance pour votre aide.
Cédric.
Bonjour,
J'ai deux tables :
- produits
- couleurs
La table "couleurs" contient deux champs :
- codeCouleur (Id Unique)
- libelle
La table produits contient un champ "codesdesCouleurs".
Dans ce champ on trouve les "codeCouleurs" de la table "couleurs" séparés
par des "|" car il y en a plusieurs (peut-être aurais-je du faire
autrement
mais c'est la seule solution que j'ai trouvée à l'époque) associés à un
même
produit.
Ma problèmatique :
Je souhaite créer une requête qui reprend les champs de la table produit
auxquels je souhaite ajouter un champ "libellesCouleurs" dans lequel les
"codesCouleurs" entre "|" du champs "codesdesCouleurs" sont remplacés par
leur "libelle" de la table "couleurs".
Ma question :
Comment procèder ?
Merci d'avance pour votre aide.
Cédric.
Bonjour,
J'ai deux tables :
- produits
- couleurs
La table "couleurs" contient deux champs :
- codeCouleur (Id Unique)
- libelle
La table produits contient un champ "codesdesCouleurs".
Dans ce champ on trouve les "codeCouleurs" de la table "couleurs" séparés
par des "|" car il y en a plusieurs (peut-être aurais-je du faire
autrement
mais c'est la seule solution que j'ai trouvée à l'époque) associés à un
même
produit.
Ma problèmatique :
Je souhaite créer une requête qui reprend les champs de la table produit
auxquels je souhaite ajouter un champ "libellesCouleurs" dans lequel les
"codesCouleurs" entre "|" du champs "codesdesCouleurs" sont remplacés par
leur "libelle" de la table "couleurs".
Ma question :
Comment procèder ?
Merci d'avance pour votre aide.
Cédric.
Bonjour,
sans vouloir m'immiscer dans ton organisation, je pense que tu ne changeras
pas le problème et tu vas te retrouver avec une couleur au lieu d'un code
couleur. tu vas aussi limiter le nombre de couleurs par article comme avant.
il serait peut-être préférable de créer une table dans laquelle tu mémorises
le code article et le code couleur( ou couleur) dans chaque enregistrement
avec une relation 1:n avec la table article. Ainsi tu n'es plus limité dans
le nombre de couleurs et tu n'as pas besoin de ta liste de couleurs dans la
table article.
est-ce faisable dans ton organisation ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
J'ai deux tables :
- produits
- couleurs
La table "couleurs" contient deux champs :
- codeCouleur (Id Unique)
- libelle
La table produits contient un champ "codesdesCouleurs".
Dans ce champ on trouve les "codeCouleurs" de la table "couleurs" séparés
par des "|" car il y en a plusieurs (peut-être aurais-je du faire
autrement
mais c'est la seule solution que j'ai trouvée à l'époque) associés à un
même
produit.
Ma problèmatique :
Je souhaite créer une requête qui reprend les champs de la table produit
auxquels je souhaite ajouter un champ "libellesCouleurs" dans lequel les
"codesCouleurs" entre "|" du champs "codesdesCouleurs" sont remplacés par
leur "libelle" de la table "couleurs".
Ma question :
Comment procèder ?
Merci d'avance pour votre aide.
Cédric.
Bonjour,
sans vouloir m'immiscer dans ton organisation, je pense que tu ne changeras
pas le problème et tu vas te retrouver avec une couleur au lieu d'un code
couleur. tu vas aussi limiter le nombre de couleurs par article comme avant.
il serait peut-être préférable de créer une table dans laquelle tu mémorises
le code article et le code couleur( ou couleur) dans chaque enregistrement
avec une relation 1:n avec la table article. Ainsi tu n'es plus limité dans
le nombre de couleurs et tu n'as pas besoin de ta liste de couleurs dans la
table article.
est-ce faisable dans ton organisation ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" <cedcha@discussions.microsoft.com> a écrit dans le message de news:
A0F70300-BDDA-4BB8-9D31-4540B6C288F1@microsoft.com...
Bonjour,
J'ai deux tables :
- produits
- couleurs
La table "couleurs" contient deux champs :
- codeCouleur (Id Unique)
- libelle
La table produits contient un champ "codesdesCouleurs".
Dans ce champ on trouve les "codeCouleurs" de la table "couleurs" séparés
par des "|" car il y en a plusieurs (peut-être aurais-je du faire
autrement
mais c'est la seule solution que j'ai trouvée à l'époque) associés à un
même
produit.
Ma problèmatique :
Je souhaite créer une requête qui reprend les champs de la table produit
auxquels je souhaite ajouter un champ "libellesCouleurs" dans lequel les
"codesCouleurs" entre "|" du champs "codesdesCouleurs" sont remplacés par
leur "libelle" de la table "couleurs".
Ma question :
Comment procèder ?
Merci d'avance pour votre aide.
Cédric.
Bonjour,
sans vouloir m'immiscer dans ton organisation, je pense que tu ne changeras
pas le problème et tu vas te retrouver avec une couleur au lieu d'un code
couleur. tu vas aussi limiter le nombre de couleurs par article comme avant.
il serait peut-être préférable de créer une table dans laquelle tu mémorises
le code article et le code couleur( ou couleur) dans chaque enregistrement
avec une relation 1:n avec la table article. Ainsi tu n'es plus limité dans
le nombre de couleurs et tu n'as pas besoin de ta liste de couleurs dans la
table article.
est-ce faisable dans ton organisation ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
J'ai deux tables :
- produits
- couleurs
La table "couleurs" contient deux champs :
- codeCouleur (Id Unique)
- libelle
La table produits contient un champ "codesdesCouleurs".
Dans ce champ on trouve les "codeCouleurs" de la table "couleurs" séparés
par des "|" car il y en a plusieurs (peut-être aurais-je du faire
autrement
mais c'est la seule solution que j'ai trouvée à l'époque) associés à un
même
produit.
Ma problèmatique :
Je souhaite créer une requête qui reprend les champs de la table produit
auxquels je souhaite ajouter un champ "libellesCouleurs" dans lequel les
"codesCouleurs" entre "|" du champs "codesdesCouleurs" sont remplacés par
leur "libelle" de la table "couleurs".
Ma question :
Comment procèder ?
Merci d'avance pour votre aide.
Cédric.
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" <cedcha@discussions.microsoft.com> a écrit dans le message de news:
9812C9A4-FB83-44FB-B013-0529161967C4@microsoft.com...
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" a écrit dans le message news:Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message news:
uCzFdPipEHA.2104@TK2MSFTNGP10.phx.gbl...
Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" <cedcha@discussions.microsoft.com> a écrit dans le message de news:
9812C9A4-FB83-44FB-B013-0529161967C4@microsoft.com...
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" a écrit dans le message news:Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Merci à tous les deux pour votre aide.
Etant donné que je ne suis pas un initié en la matière, comment puis-je
faire pour intégrer ce code ? c'est-à-dire comment appeler depuis la requête
le module que j'ai nommé "moduleCouleurs".
Cédric.En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" a écrit dans le message news:Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Merci à tous les deux pour votre aide.
Etant donné que je ne suis pas un initié en la matière, comment puis-je
faire pour intégrer ce code ? c'est-à-dire comment appeler depuis la requête
le module que j'ai nommé "moduleCouleurs".
Cédric.
En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message news:
uCzFdPipEHA.2104@TK2MSFTNGP10.phx.gbl...
Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" <cedcha@discussions.microsoft.com> a écrit dans le message de news:
9812C9A4-FB83-44FB-B013-0529161967C4@microsoft.com...
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Merci à tous les deux pour votre aide.
Etant donné que je ne suis pas un initié en la matière, comment puis-je
faire pour intégrer ce code ? c'est-à-dire comment appeler depuis la requête
le module que j'ai nommé "moduleCouleurs".
Cédric.En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" a écrit dans le message news:Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bonjour
Tu copies le code que je t'ai donné dans ton module ensuite,
il te suffit de faire une requête qui utilise cette fonction, genre
Select Champ1, Champ2, CodeCouleur([ChampCode]) as Couleur
From TaTable;
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"cedcha" a écrit dans le message news:Merci à tous les deux pour votre aide.
Etant donné que je ne suis pas un initié en la matière, comment puis-je
faire pour intégrer ce code ? c'est-à-dire comment appeler depuis la requête
le module que j'ai nommé "moduleCouleurs".
Cédric.En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" a écrit dans le message news:Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bonjour
Tu copies le code que je t'ai donné dans ton module ensuite,
il te suffit de faire une requête qui utilise cette fonction, genre
Select Champ1, Champ2, CodeCouleur([ChampCode]) as Couleur
From TaTable;
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"cedcha" <cedcha@discussions.microsoft.com> a écrit dans le message news:
3F04676B-FD57-4B71-9398-AD38D812D300@microsoft.com...
Merci à tous les deux pour votre aide.
Etant donné que je ne suis pas un initié en la matière, comment puis-je
faire pour intégrer ce code ? c'est-à-dire comment appeler depuis la requête
le module que j'ai nommé "moduleCouleurs".
Cédric.
En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message news:
uCzFdPipEHA.2104@TK2MSFTNGP10.phx.gbl...
Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" <cedcha@discussions.microsoft.com> a écrit dans le message de news:
9812C9A4-FB83-44FB-B013-0529161967C4@microsoft.com...
Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.
Bonjour
Tu copies le code que je t'ai donné dans ton module ensuite,
il te suffit de faire une requête qui utilise cette fonction, genre
Select Champ1, Champ2, CodeCouleur([ChampCode]) as Couleur
From TaTable;
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"cedcha" a écrit dans le message news:Merci à tous les deux pour votre aide.
Etant donné que je ne suis pas un initié en la matière, comment puis-je
faire pour intégrer ce code ? c'est-à-dire comment appeler depuis la requête
le module que j'ai nommé "moduleCouleurs".
Cédric.En clair, le code qui suit devrait te convenir :
(j'aime ce genre de code, ça fait réfléchir... ;-))
*******************************************************
Function CodeCouleur(strCode As String)
Dim p%, i%
Dim strId As String
If IsNull(strCode) Then
CodeCouleur = Null
Else
p = InStr(1, strCode, "|")
If p = 0 Then
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strCode & "'")
Else
strId = left(strCode, p - 1)
CodeCouleur = DLookup("libelle", "couleurs", _
"codecouleur = '" & strId & "'")
Do While p > 0
i = InStr(p + 1, strCode, "|")
If i = 0 Then
strId = Mid(strCode, p + 1)
Else
strId = Mid(strCode, p + 1, i - (p + 1))
End If
CodeCouleur = CodeCouleur & "|" & DLookup("libelle", _
"couleurs", "codecouleur = '" & strId & "'")
p = InStr(p + 1, strCode, "|")
Loop
End If
End If
End Function
*******************************************************
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Raymond [mvp]" a écrit dans le message news:Bien sûr c'est faisable, mais en code vba appelé dans la requête mais pas en
requête elle-même car les relations seront difficiles à établir.
il faut que tu fasses une fonction public placée dans un module standard, à
laquelle tu passes la liste des codes en paramètres et te retourne la liste
des couleurs. Dans ta fonction, tu "split" les codes grâce au séparateur et
tu vas lire la couleur pour chaque code par un Dlookup que tu places dans un
tableau. ensuite tu fais un join du tableau dans la fonction et tu sors de
la fonction.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"cedcha" a écrit dans le message de news:Bonjour,
Merci pour ta réponse.
Hélas, non. En fait la requête doit être exporter vers un serveur de bdd
qui
fait le lien avec des pages web. Je préfère donc ne rien casser si
possible.
En fait la requête que je veux créer doit reprendre les codes couleurs
séparés par des "|" et les libellés correspondants séparés par des "|".
Ex:
Codes couleurs | Libelles
-----------------------------
BL|B|R|O | Bleu|Blanc|Rouge|Orange
B|C|M|R | Blanc|Cyan|Magenta|Rouge
Est-ce envisageable ?
Bien à toi,
Cédric.