Bonjour ,
Je n'arrive pas a comprendre la fonction Dlookup
Dans une requete j'ai des champs :
N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
G U Y vide vide etc....
de plus je possede une table avec qui me rensigne sur la valeur numérique
de chaque lettre exemple:
Champs Alpha et Valeur
A= 1 B=2 C=4 D=3 E=3 F% ETC
Comment dans une requete rajouter un champ du genre ValN01: dlookup ....pour
récuper la bonne valeur.
J'ai essayer divers choses je ne recupere que la premiere valeur de ma table
Bonjour ,
Je n'arrive pas a comprendre la fonction Dlookup
Dans une requete j'ai des champs :
N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
G U Y vide vide etc....
de plus je possede une table avec qui me rensigne sur la valeur numérique
de chaque lettre exemple:
Champs Alpha et Valeur
A= 1 B=2 C=4 D=3 E=3 F% ETC
Comment dans une requete rajouter un champ du genre ValN01: dlookup ....pour
récuper la bonne valeur.
J'ai essayer divers choses je ne recupere que la premiere valeur de ma table
Bonjour ,
Je n'arrive pas a comprendre la fonction Dlookup
Dans une requete j'ai des champs :
N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
G U Y vide vide etc....
de plus je possede une table avec qui me rensigne sur la valeur numérique
de chaque lettre exemple:
Champs Alpha et Valeur
A= 1 B=2 C=4 D=3 E=3 F% ETC
Comment dans une requete rajouter un champ du genre ValN01: dlookup ....pour
récuper la bonne valeur.
J'ai essayer divers choses je ne recupere que la premiere valeur de ma table
Bonjour Guy,
Je ne réponds pas directement au DLookUp()
Je regardais ton autre post 'Allouer une valeur à une lettre ALPHA ..."
et je me posais la question suivante : Est-il nécessaire de retourner la
valeur de chaque lettre ou la somme des valeurs des lettres composant la
chaîne serait suffisante ? Car si la somme suffit à ton problème, je
peux te donner une fonction.
Guy a écrit :
> Bonjour ,
>
> Je n'arrive pas a comprendre la fonction Dlookup
>
> Dans une requete j'ai des champs :
>
> N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
>
> G U Y vide vide etc....
>
> de plus je possede une table avec qui me rensigne sur la valeur numérique
> de chaque lettre exemple:
>
> Champs Alpha et Valeur
>
> A= 1 B=2 C=4 D=3 E=3 F% ETC
>
> Comment dans une requete rajouter un champ du genre ValN01: dlookup ....pour
> récuper la bonne valeur.
>
> J'ai essayer divers choses je ne recupere que la premiere valeur de ma table
>
>
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Guy,
Je ne réponds pas directement au DLookUp()
Je regardais ton autre post 'Allouer une valeur à une lettre ALPHA ..."
et je me posais la question suivante : Est-il nécessaire de retourner la
valeur de chaque lettre ou la somme des valeurs des lettres composant la
chaîne serait suffisante ? Car si la somme suffit à ton problème, je
peux te donner une fonction.
Guy a écrit :
> Bonjour ,
>
> Je n'arrive pas a comprendre la fonction Dlookup
>
> Dans une requete j'ai des champs :
>
> N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
>
> G U Y vide vide etc....
>
> de plus je possede une table avec qui me rensigne sur la valeur numérique
> de chaque lettre exemple:
>
> Champs Alpha et Valeur
>
> A= 1 B=2 C=4 D=3 E=3 F% ETC
>
> Comment dans une requete rajouter un champ du genre ValN01: dlookup ....pour
> récuper la bonne valeur.
>
> J'ai essayer divers choses je ne recupere que la premiere valeur de ma table
>
>
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Guy,
Je ne réponds pas directement au DLookUp()
Je regardais ton autre post 'Allouer une valeur à une lettre ALPHA ..."
et je me posais la question suivante : Est-il nécessaire de retourner la
valeur de chaque lettre ou la somme des valeurs des lettres composant la
chaîne serait suffisante ? Car si la somme suffit à ton problème, je
peux te donner une fonction.
Guy a écrit :
> Bonjour ,
>
> Je n'arrive pas a comprendre la fonction Dlookup
>
> Dans une requete j'ai des champs :
>
> N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
>
> G U Y vide vide etc....
>
> de plus je possede une table avec qui me rensigne sur la valeur numérique
> de chaque lettre exemple:
>
> Champs Alpha et Valeur
>
> A= 1 B=2 C=4 D=3 E=3 F% ETC
>
> Comment dans une requete rajouter un champ du genre ValN01: dlookup ....pour
> récuper la bonne valeur.
>
> J'ai essayer divers choses je ne recupere que la premiere valeur de ma table
>
>
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
merci, Eric
je doit simplement additionner la somme des Valeurs exemple :
G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
Afin de retrouver les arcanes du tarots
je suis ouvert a toutes les propositions
merci, Eric
je doit simplement additionner la somme des Valeurs exemple :
G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
Afin de retrouver les arcanes du tarots
je suis ouvert a toutes les propositions
merci, Eric
je doit simplement additionner la somme des Valeurs exemple :
G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
Afin de retrouver les arcanes du tarots
je suis ouvert a toutes les propositions
re,
Il faut que tu aies expurgé toutes les lettres accentuées, les signes
diacritiques ... des champs à traiter.
re,
Il faut que tu aies expurgé toutes les lettres accentuées, les signes
diacritiques ... des champs à traiter.
re,
Il faut que tu aies expurgé toutes les lettres accentuées, les signes
diacritiques ... des champs à traiter.
..../...
Eric a écrit :
> re,
>
> Il faut que tu aies expurgé toutes les lettres accentuées, les signes
> diacritiques ... des champs à traiter.
>
Pas nécessaire si les Majuscules accentuées, ... existent dans la table
des lettres & valeurs
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
..../...
Eric a écrit :
> re,
>
> Il faut que tu aies expurgé toutes les lettres accentuées, les signes
> diacritiques ... des champs à traiter.
>
Pas nécessaire si les Majuscules accentuées, ... existent dans la table
des lettres & valeurs
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
..../...
Eric a écrit :
> re,
>
> Il faut que tu aies expurgé toutes les lettres accentuées, les signes
> diacritiques ... des champs à traiter.
>
Pas nécessaire si les Majuscules accentuées, ... existent dans la table
des lettres & valeurs
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Copies la fonction ci-dessous dans un module de portée globale.
Function fnValMot(UneChaine) As Integer
'Charger la référence Microsoft DAO 3.x Object Library
'au Menu Outils | Références
If IsNull(UneChaine) Then Exit Function
Dim tLettre(), i As Integer, j As Integer
Dim longueur As Integer, car As String
Dim rst As DAO.Recordset, cpt as integer
longueur = Len(UneChaine)
Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
tLettre = rst.GetRows(rst.RecordCount)
Set rst = Nothing
For i = 1 To longueur
car = Mid(UneChaine, i, 1)
For j = 0 To UBound(tLettre, 2)
If car = tLettre(0, j) Then
cpt = cpt + tLettre(1, j): Exit For
End If
Next j
Next i
fnValMot = cpt
End Function
Tu peux ensuite utiliser cette fonction dans une requête
fnValMot([LeNom]) te retournera le total des valeurs des lettres du
champ LeNom
Dans le code, tu doit adapter sur la ligne
Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
le vrai nom de ta table qui contient les lettres et les valeurs de ces
lettres.
Guy a écrit :merci, Eric
je doit simplement additionner la somme des Valeurs exemple :
G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
Afin de retrouver les arcanes du tarots
je suis ouvert a toutes les propositions
re,
Copies la fonction ci-dessous dans un module de portée globale.
Function fnValMot(UneChaine) As Integer
'Charger la référence Microsoft DAO 3.x Object Library
'au Menu Outils | Références
If IsNull(UneChaine) Then Exit Function
Dim tLettre(), i As Integer, j As Integer
Dim longueur As Integer, car As String
Dim rst As DAO.Recordset, cpt as integer
longueur = Len(UneChaine)
Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
tLettre = rst.GetRows(rst.RecordCount)
Set rst = Nothing
For i = 1 To longueur
car = Mid(UneChaine, i, 1)
For j = 0 To UBound(tLettre, 2)
If car = tLettre(0, j) Then
cpt = cpt + tLettre(1, j): Exit For
End If
Next j
Next i
fnValMot = cpt
End Function
Tu peux ensuite utiliser cette fonction dans une requête
fnValMot([LeNom]) te retournera le total des valeurs des lettres du
champ LeNom
Dans le code, tu doit adapter sur la ligne
Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
le vrai nom de ta table qui contient les lettres et les valeurs de ces
lettres.
Guy a écrit :
merci, Eric
je doit simplement additionner la somme des Valeurs exemple :
G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
Afin de retrouver les arcanes du tarots
je suis ouvert a toutes les propositions
re,
Copies la fonction ci-dessous dans un module de portée globale.
Function fnValMot(UneChaine) As Integer
'Charger la référence Microsoft DAO 3.x Object Library
'au Menu Outils | Références
If IsNull(UneChaine) Then Exit Function
Dim tLettre(), i As Integer, j As Integer
Dim longueur As Integer, car As String
Dim rst As DAO.Recordset, cpt as integer
longueur = Len(UneChaine)
Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
tLettre = rst.GetRows(rst.RecordCount)
Set rst = Nothing
For i = 1 To longueur
car = Mid(UneChaine, i, 1)
For j = 0 To UBound(tLettre, 2)
If car = tLettre(0, j) Then
cpt = cpt + tLettre(1, j): Exit For
End If
Next j
Next i
fnValMot = cpt
End Function
Tu peux ensuite utiliser cette fonction dans une requête
fnValMot([LeNom]) te retournera le total des valeurs des lettres du
champ LeNom
Dans le code, tu doit adapter sur la ligne
Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
le vrai nom de ta table qui contient les lettres et les valeurs de ces
lettres.
Guy a écrit :merci, Eric
je doit simplement additionner la somme des Valeurs exemple :
G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
Afin de retrouver les arcanes du tarots
je suis ouvert a toutes les propositions
Bonjour ,
Je n'arrive pas a comprendre la fonction Dlookup
Dans une requete j'ai des champs :
N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
G U Y vide vide etc....
de plus je possede une table avec qui me rensigne sur la valeur numérique
de chaque lettre exemple:
Champs Alpha et Valeur
A= 1 B=2 C=4 D=3 E=3 F% ETC
Comment dans une requete rajouter un champ du genre ValN01: dlookup
....pour
récuper la bonne valeur.
J'ai essayer divers choses je ne recupere que la premiere valeur de ma
table
--
Amicalement et merci
Bonjour ,
Je n'arrive pas a comprendre la fonction Dlookup
Dans une requete j'ai des champs :
N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
G U Y vide vide etc....
de plus je possede une table avec qui me rensigne sur la valeur numérique
de chaque lettre exemple:
Champs Alpha et Valeur
A= 1 B=2 C=4 D=3 E=3 F% ETC
Comment dans une requete rajouter un champ du genre ValN01: dlookup
....pour
récuper la bonne valeur.
J'ai essayer divers choses je ne recupere que la premiere valeur de ma
table
--
Amicalement et merci
Bonjour ,
Je n'arrive pas a comprendre la fonction Dlookup
Dans une requete j'ai des champs :
N01 n02 N03 etc... N 25 qui contiennent une seule lettre comme :
G U Y vide vide etc....
de plus je possede une table avec qui me rensigne sur la valeur numérique
de chaque lettre exemple:
Champs Alpha et Valeur
A= 1 B=2 C=4 D=3 E=3 F% ETC
Comment dans une requete rajouter un champ du genre ValN01: dlookup
....pour
récuper la bonne valeur.
J'ai essayer divers choses je ne recupere que la premiere valeur de ma
table
--
Amicalement et merci
..../...
et celle-ci pour faire la somme des chiffres de la valeur retournée par
fnValMot(UneChaine)
Function fnTotalValMot(UneChaine) As Integer
Dim nb As String, i As Integer
nb = CStr(fnValMot(UneChaine))
For i = 1 To Len(nb)
fnTotalValMot = fnTotalValMot + Val(Mid(nb, i, 1))
Next i
End Function
Dans la requête tu mets directement :
fnTotalValMot([LeNom])
car cette fonction fait appel à la précédente.
PS : Access ne faisant pas la différence Majuscule/Minuscule par défaut,
tu n'es pas obligé de changer la casse tes chaînes.
Eric a écrit :
> re,
>
> Copies la fonction ci-dessous dans un module de portée globale.
>
> Function fnValMot(UneChaine) As Integer
> 'Charger la référence Microsoft DAO 3.x Object Library
> 'au Menu Outils | Références
> If IsNull(UneChaine) Then Exit Function
> Dim tLettre(), i As Integer, j As Integer
> Dim longueur As Integer, car As String
> Dim rst As DAO.Recordset, cpt as integer
> longueur = Len(UneChaine)
> Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
> tLettre = rst.GetRows(rst.RecordCount)
> Set rst = Nothing
> For i = 1 To longueur
> car = Mid(UneChaine, i, 1)
> For j = 0 To UBound(tLettre, 2)
> If car = tLettre(0, j) Then
> cpt = cpt + tLettre(1, j): Exit For
> End If
> Next j
> Next i
> fnValMot = cpt
> End Function
>
> Tu peux ensuite utiliser cette fonction dans une requête
> fnValMot([LeNom]) te retournera le total des valeurs des lettres du
> champ LeNom
> Dans le code, tu doit adapter sur la ligne
> Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
> le vrai nom de ta table qui contient les lettres et les valeurs de ces
> lettres.
>
>
>
>
>
> Guy a écrit :
>> merci, Eric
>>
>> je doit simplement additionner la somme des Valeurs exemple :
>>
>> G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
>>
>> B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
>> Afin de retrouver les arcanes du tarots
>> je suis ouvert a toutes les propositions
>
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
..../...
et celle-ci pour faire la somme des chiffres de la valeur retournée par
fnValMot(UneChaine)
Function fnTotalValMot(UneChaine) As Integer
Dim nb As String, i As Integer
nb = CStr(fnValMot(UneChaine))
For i = 1 To Len(nb)
fnTotalValMot = fnTotalValMot + Val(Mid(nb, i, 1))
Next i
End Function
Dans la requête tu mets directement :
fnTotalValMot([LeNom])
car cette fonction fait appel à la précédente.
PS : Access ne faisant pas la différence Majuscule/Minuscule par défaut,
tu n'es pas obligé de changer la casse tes chaînes.
Eric a écrit :
> re,
>
> Copies la fonction ci-dessous dans un module de portée globale.
>
> Function fnValMot(UneChaine) As Integer
> 'Charger la référence Microsoft DAO 3.x Object Library
> 'au Menu Outils | Références
> If IsNull(UneChaine) Then Exit Function
> Dim tLettre(), i As Integer, j As Integer
> Dim longueur As Integer, car As String
> Dim rst As DAO.Recordset, cpt as integer
> longueur = Len(UneChaine)
> Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
> tLettre = rst.GetRows(rst.RecordCount)
> Set rst = Nothing
> For i = 1 To longueur
> car = Mid(UneChaine, i, 1)
> For j = 0 To UBound(tLettre, 2)
> If car = tLettre(0, j) Then
> cpt = cpt + tLettre(1, j): Exit For
> End If
> Next j
> Next i
> fnValMot = cpt
> End Function
>
> Tu peux ensuite utiliser cette fonction dans une requête
> fnValMot([LeNom]) te retournera le total des valeurs des lettres du
> champ LeNom
> Dans le code, tu doit adapter sur la ligne
> Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
> le vrai nom de ta table qui contient les lettres et les valeurs de ces
> lettres.
>
>
>
>
>
> Guy a écrit :
>> merci, Eric
>>
>> je doit simplement additionner la somme des Valeurs exemple :
>>
>> G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
>>
>> B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
>> Afin de retrouver les arcanes du tarots
>> je suis ouvert a toutes les propositions
>
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
..../...
et celle-ci pour faire la somme des chiffres de la valeur retournée par
fnValMot(UneChaine)
Function fnTotalValMot(UneChaine) As Integer
Dim nb As String, i As Integer
nb = CStr(fnValMot(UneChaine))
For i = 1 To Len(nb)
fnTotalValMot = fnTotalValMot + Val(Mid(nb, i, 1))
Next i
End Function
Dans la requête tu mets directement :
fnTotalValMot([LeNom])
car cette fonction fait appel à la précédente.
PS : Access ne faisant pas la différence Majuscule/Minuscule par défaut,
tu n'es pas obligé de changer la casse tes chaînes.
Eric a écrit :
> re,
>
> Copies la fonction ci-dessous dans un module de portée globale.
>
> Function fnValMot(UneChaine) As Integer
> 'Charger la référence Microsoft DAO 3.x Object Library
> 'au Menu Outils | Références
> If IsNull(UneChaine) Then Exit Function
> Dim tLettre(), i As Integer, j As Integer
> Dim longueur As Integer, car As String
> Dim rst As DAO.Recordset, cpt as integer
> longueur = Len(UneChaine)
> Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
> tLettre = rst.GetRows(rst.RecordCount)
> Set rst = Nothing
> For i = 1 To longueur
> car = Mid(UneChaine, i, 1)
> For j = 0 To UBound(tLettre, 2)
> If car = tLettre(0, j) Then
> cpt = cpt + tLettre(1, j): Exit For
> End If
> Next j
> Next i
> fnValMot = cpt
> End Function
>
> Tu peux ensuite utiliser cette fonction dans une requête
> fnValMot([LeNom]) te retournera le total des valeurs des lettres du
> champ LeNom
> Dans le code, tu doit adapter sur la ligne
> Set rst = CurrentDb.OpenRecordset("LaTableLettreValeur")
> le vrai nom de ta table qui contient les lettres et les valeurs de ces
> lettres.
>
>
>
>
>
> Guy a écrit :
>> merci, Eric
>>
>> je doit simplement additionner la somme des Valeurs exemple :
>>
>> G U Y = 10 9 50 total 69 ensuite 69 devient 6+9
>>
>> B R U S S O N = 2 11 9 20 20 8 26 total 96 puis 96 devient 9 +6
>> Afin de retrouver les arcanes du tarots
>> je suis ouvert a toutes les propositions
>
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Un grand Merci a toi Eric grâce à toi j'ai simplifier et cela fonctionne
guy
"Eric" a écrit :..../...
et celle-ci pour faire la somme des chiffres de la valeur retournée par
fnValMot(UneChaine)
Function fnTotalValMot(UneChaine) As Integer
Dim nb As String, i As Integer
nb = CStr(fnValMot(UneChaine))
For i = 1 To Len(nb)
fnTotalValMot = fnTotalValMot + Val(Mid(nb, i, 1))
Next i
End Function
Dans la requête tu mets directement :
fnTotalValMot([LeNom])
car cette fonction fait appel à la précédente.
Un grand Merci a toi Eric grâce à toi j'ai simplifier et cela fonctionne
guy
"Eric" a écrit :
..../...
et celle-ci pour faire la somme des chiffres de la valeur retournée par
fnValMot(UneChaine)
Function fnTotalValMot(UneChaine) As Integer
Dim nb As String, i As Integer
nb = CStr(fnValMot(UneChaine))
For i = 1 To Len(nb)
fnTotalValMot = fnTotalValMot + Val(Mid(nb, i, 1))
Next i
End Function
Dans la requête tu mets directement :
fnTotalValMot([LeNom])
car cette fonction fait appel à la précédente.
Un grand Merci a toi Eric grâce à toi j'ai simplifier et cela fonctionne
guy
"Eric" a écrit :..../...
et celle-ci pour faire la somme des chiffres de la valeur retournée par
fnValMot(UneChaine)
Function fnTotalValMot(UneChaine) As Integer
Dim nb As String, i As Integer
nb = CStr(fnValMot(UneChaine))
For i = 1 To Len(nb)
fnTotalValMot = fnTotalValMot + Val(Mid(nb, i, 1))
Next i
End Function
Dans la requête tu mets directement :
fnTotalValMot([LeNom])
car cette fonction fait appel à la précédente.