Bonjour,
Je n'ai pas trouvé trace dans la documentation VBA d'ACCESS de la
possibilité d'utiliser l'adressage indirect (mettre une nom de variable
dans
une variable). Cette fonctionnalité est elle "oubliée" dans VBA, ou bien
n'ai je pas su la dénicher?
Merci de votre aide.
Decaplan
Bonjour,
Je n'ai pas trouvé trace dans la documentation VBA d'ACCESS de la
possibilité d'utiliser l'adressage indirect (mettre une nom de variable
dans
une variable). Cette fonctionnalité est elle "oubliée" dans VBA, ou bien
n'ai je pas su la dénicher?
Merci de votre aide.
Decaplan
Bonjour,
Je n'ai pas trouvé trace dans la documentation VBA d'ACCESS de la
possibilité d'utiliser l'adressage indirect (mettre une nom de variable
dans
une variable). Cette fonctionnalité est elle "oubliée" dans VBA, ou bien
n'ai je pas su la dénicher?
Merci de votre aide.
Decaplan
Bonjour
Que veux-tu dire par mettre un nom de variable dans une variable ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"yvon-plancade" a écrit dans le message de
news:437a8a60$0$20183$Bonjour,
Je n'ai pas trouvé trace dans la documentation VBA d'ACCESS de la
possibilité d'utiliser l'adressage indirect (mettre une nom de variable
dansune variable). Cette fonctionnalité est elle "oubliée" dans VBA, ou bien
n'ai je pas su la dénicher?
Merci de votre aide.
Decaplan
Bonjour
Que veux-tu dire par mettre un nom de variable dans une variable ???
--
@+
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/
------------------------------------
"yvon-plancade" <yvon-plancade@wanadoo.fr> a écrit dans le message de
news:437a8a60$0$20183$8fcfb975@news.wanadoo.fr...
Bonjour,
Je n'ai pas trouvé trace dans la documentation VBA d'ACCESS de la
possibilité d'utiliser l'adressage indirect (mettre une nom de variable
dans
une variable). Cette fonctionnalité est elle "oubliée" dans VBA, ou bien
n'ai je pas su la dénicher?
Merci de votre aide.
Decaplan
Bonjour
Que veux-tu dire par mettre un nom de variable dans une variable ???
--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"yvon-plancade" a écrit dans le message de
news:437a8a60$0$20183$Bonjour,
Je n'ai pas trouvé trace dans la documentation VBA d'ACCESS de la
possibilité d'utiliser l'adressage indirect (mettre une nom de variable
dansune variable). Cette fonctionnalité est elle "oubliée" dans VBA, ou bien
n'ai je pas su la dénicher?
Merci de votre aide.
Decaplan
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est une
expression texte contenant des variables (qu'il convient donc d'évaluer
lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises à
SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de news:
437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est une
expression texte contenant des variables (qu'il convient donc d'évaluer
lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises à
SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la montagne
END SUB
Merci
Decaplan
"Dan" <service.informatique@riorges.fr> a écrit dans le message
news:<437c40f2$0$20140$8fcfb975@news.wanadoo.fr>...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
"Dan" <service.informatique@riorges.fr> a écrit dans le message de news:
437c40f2$0$20140$8fcfb975@news.wanadoo.fr...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est une
expression texte contenant des variables (qu'il convient donc d'évaluer
lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises à
SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de news:
437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagneBonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ
est une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x
reprises à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est
une chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de
news: 437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagne
Bonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ
est une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x
reprises à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est
une chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" <service.informatique@riorges.fr> a écrit dans le message
news:<437c40f2$0$20140$8fcfb975@news.wanadoo.fr>...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
"Dan" <service.informatique@riorges.fr> a écrit dans le message de
news: 437c40f2$0$20140$8fcfb975@news.wanadoo.fr...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagneBonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ
est une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x
reprises à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est
une chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de
news: 437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As
String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagneBonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est
une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises
à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de news:
437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As
String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagne
Bonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est
une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises
à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" <service.informatique@riorges.fr> a écrit dans le message
news:<437c40f2$0$20140$8fcfb975@news.wanadoo.fr>...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
"Dan" <service.informatique@riorges.fr> a écrit dans le message de news:
437c40f2$0$20140$8fcfb975@news.wanadoo.fr...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As
String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagneBonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est
une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises
à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de news:
437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Eventuellement, en utilisant les pointeurs sur les adresses mémoire de tes
variables, mais là je décroche. Il faut utiliser les fonctions non
documentées StrPtr, VarPtr ...
(La seule que j'ai utilisée est StrPtr pour savoir si,dans une InputBox,
on a appuyé sur Annuler au lieu de OK sans saisie)
Je te mets quelques liens où ces fonctions sont expliquées
- en Anglais
http://www.codeproject.com/useritems/UB_Pointers_In_VB.asp
http://www.codeproject.com/vbscript/how_to_do_pointers_in_visual_basic.asp
- en Français
http://vbfrance.com/code.aspx?IDx44Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As
String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagneBonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est
une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises
à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est
bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de news:
437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Eventuellement, en utilisant les pointeurs sur les adresses mémoire de tes
variables, mais là je décroche. Il faut utiliser les fonctions non
documentées StrPtr, VarPtr ...
(La seule que j'ai utilisée est StrPtr pour savoir si,dans une InputBox,
on a appuyé sur Annuler au lieu de OK sans saisie)
Je te mets quelques liens où ces fonctions sont expliquées
- en Anglais
http://www.codeproject.com/useritems/UB_Pointers_In_VB.asp
http://www.codeproject.com/vbscript/how_to_do_pointers_in_visual_basic.asp
- en Français
http://vbfrance.com/code.aspx?IDx44
Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As
String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagne
Bonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est
une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises
à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est
bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" <service.informatique@riorges.fr> a écrit dans le message
news:<437c40f2$0$20140$8fcfb975@news.wanadoo.fr>...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
"Dan" <service.informatique@riorges.fr> a écrit dans le message de news:
437c40f2$0$20140$8fcfb975@news.wanadoo.fr...
Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Eventuellement, en utilisant les pointeurs sur les adresses mémoire de tes
variables, mais là je décroche. Il faut utiliser les fonctions non
documentées StrPtr, VarPtr ...
(La seule que j'ai utilisée est StrPtr pour savoir si,dans une InputBox,
on a appuyé sur Annuler au lieu de OK sans saisie)
Je te mets quelques liens où ces fonctions sont expliquées
- en Anglais
http://www.codeproject.com/useritems/UB_Pointers_In_VB.asp
http://www.codeproject.com/vbscript/how_to_do_pointers_in_visual_basic.asp
- en Français
http://vbfrance.com/code.aspx?IDx44Bonjour,
Avec la fonction Eval(), il doit être possible de s'en sortir, non ?
Il te faudrait utiliser des fonctions et non directement des variables
pour V1 et V2
Sous réserve d'avoir bien compris.
Un truc du genre à peaufiner:
Function v1(unechaine As String)
v1 = unechaine
End Function
Function v2(unechaine As String)
v2 = unechaine
End Function
Function sp(operateur As String, unechaine As String, unechaine2 As
String)
Dim pos1 As Integer, pos2 As Integer, operation As String
Dim op1 As String, op2 As String
pos1 = InStr(operateur, "'")
pos2 = InStrRev(operateur, "'")
op1 = "v1(""" & unechaine & """)"
operation = Mid(operateur, pos1 + 1, pos2 - pos1 - 1)
op2 = "v2(""" & unechaine2 & """)"
sp = Eval(op1) & operation & Eval(op2)
End Function
Sur tes exemples :
Sub PP()
Debug.Print sp("v1() & ' EST ' & v2()", "le ciel", "bleu")
Debug.Print sp("v1() & ' ' & v2()", "j'aime", "la montagne")
End Sub
retourne :
le ciel EST bleu
j'aime la montagneBonjour,
C'est vrai dans le cas où le contenu du champ n'est pas une expression
(c'est le cas de mon exemple).
Mon besoin réel est un peu plus exigeant puisque le contenu du champ est
une expression texte contenant des variables (qu'il convient donc
d'évaluer lorsque j'extraie l'expression).
Mon besoin est donc le suivant: J'exécute PP qui fait appel à x reprises
à SP ('2 dans mon exemple)
SUB PP
SP("V1+' EST '+V2","Le ciel","bleu")
SP("V1+V2","J'aime ","la montagne")
END SUB
SUB SP(R as string,V1 as string, V2 as string) 'R est une
chaîne texte représentant une fonction texte de V1 et de V2.
'R doit être évalué (pour obtenir le texte d'une requête par exemple)
Debug.print opérateur_que_je_cherche(R) doit restituer: Le ciel est
bleu
Debug.print opérateur_que_je_cherche(R) doit restituer: J'aime la
montagne
END SUB
Merci
Decaplan
"Dan" a écrit dans le message
news:<437c40f2$0$20140$...Salut Yvon,ça ressemble à une table avec 2 champs, non ?A+ Dan
"Dan" a écrit dans le message de news:
437c40f2$0$20140$Salut Yvon,
ça ressemble à une table avec 2 champs, non ?
A+ Dan
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr