OVH Cloud OVH Cloud

On tourne sous VB / sous VBA / en VB ?

17 réponses
Avatar
YannX
Bonjour,

Une question saugrenue, car je peine a faire tourner
sous VBA/Access un module de classe récupéré :
existe-t-il une fonction rendant simplement à l'exécution
un résultat dans
enum 0=VBcompiled, 1 = vBasic , 2 = VBA .....

Histoire de pouvoir utiliser (selon le cas) :
App.Path & App.EXEName
ou
Application.CurrentDb.Name ....
par exemple ?

Merci
YannX

7 réponses

1 2
Avatar
Clive Lumb
"YannX" a écrit dans le message de
news:
Bnjr (re)

Je m'empressai d'utiliser cette version
(quoique j'ai éliminé l'usage d'un enum).

Mais je voudrais te suggérer de le transmettre à la FAQ VB developpez
(avec ta permission, et le respect de tes idées /droit d'auteur)

Et peut-etre, mieux meme, si tu connais comme cela
une expression sur le meme principe qui ferait
la différence entre MDB et MDE, ou bien
entre RunTime Access et version complète d'Access !

Voila un outil qui risque d'amuser bcp les Devs.....



Salut Yann,

Bien sûr que tu peux le tranmettre à la faq .... bien que le test IDE/EXE
doit déjà y être.
Quant au MDB/MDE/RunTime Access, je crois que Raymond t'as donné assez de
liens pour trouver ta bonheur.
Bien que Right$(Application.CurrentDb.Name,3)="mdb" devrait déjà te dire si
tu es en mdb ou mde.

Bon weekend
Clive
Avatar
YannX
OK ça marche......
Thanks (euh pardon, Merci ;-))

"Clive Lumb" a écrit dans le message
de news:%

"YannX" a écrit dans le message de
news:
> Bnjr (re)
>
> Je m'empressai d'utiliser cette version
> (quoique j'ai éliminé l'usage d'un enum).
>
> Mais je voudrais te suggérer de le transmettre à la FAQ VB developpez
> (avec ta permission, et le respect de tes idées /droit d'auteur)
>
> Et peut-etre, mieux meme, si tu connais comme cela
> une expression sur le meme principe qui ferait
> la différence entre MDB et MDE, ou bien
> entre RunTime Access et version complète d'Access !
>
> Voila un outil qui risque d'amuser bcp les Devs.....
>
Salut Yann,

Bien sûr que tu peux le tranmettre à la faq .... bien que le test IDE/EXE
doit déjà y être.
Quant au MDB/MDE/RunTime Access, je crois que Raymond t'as donné assez de
liens pour trouver ta bonheur.
Bien que Right$(Application.CurrentDb.Name,3)="mdb" devrait déjà te dire


si
tu es en mdb ou mde.

Bon weekend
Clive




Avatar
Clive Lumb
"YannX" a écrit dans le message de
news:
OK ça marche......
Thanks (euh pardon, Merci ;-))



No problem - I understand a bit of English ;;;;-)
Avatar
Maxence HUBICHE [MVP Access]
Salut Raymond :)

c'est quasiment un apraté :)
dis-moi, que penses-tu de ta fonction, revue comme suit :

Function EstMde() As Boolean
On Error Resume Next
EstMde=CurrentDB.Properties("MDE") = "T"
End Function

Puisque, par défaut un boolean est faux.
Que si Currentdb.properties("MDE")="T" renverra True si c'est vrai et False
sinon ...
Ca devrait aller non ?
Personnellement, c'est l'écriture que j'utilise.
Pourrais-tu la critiquer constructivement s'il te plait ?
Avatar
Raymond [mvp]
je dirais simplement que c'est une ancienne fonction (on utilisait encore le
if pour charger le true par true) qui est obsolète et que je vais changer
immédiatement. j'en ai encore des comme ça.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Maxence HUBICHE [MVP Access]" a écrit dans
le message de news:
Salut Raymond :)

c'est quasiment un apraté :)
dis-moi, que penses-tu de ta fonction, revue comme suit :

Function EstMde() As Boolean
On Error Resume Next
EstMde=CurrentDB.Properties("MDE") = "T"
End Function

Puisque, par défaut un boolean est faux.
Que si Currentdb.properties("MDE")="T" renverra True si c'est vrai et
False sinon ...
Ca devrait aller non ?
Personnellement, c'est l'écriture que j'utilise.
Pourrais-tu la critiquer constructivement s'il te plait ?




Avatar
Eric
Bonjour,

Je me permets d'intervenir, mais le puis-je ?

Oui à la proposition, à la remarque près que je préfère cette écriture:

EstMde = (CurrentDb.Properties("MDE") = "T")

qui a le mérite de ne pas laisser supposer à certains que l'on peut
faire en une seule instruction plusieurs affectations,
cas que je vois très souvent : A = B = 10

--
A+
Eric
Voir : http://users.skynet.be/mpfa/

Maxence HUBICHE [MVP Access] a écrit :
Salut Raymond :)

c'est quasiment un apraté :)
dis-moi, que penses-tu de ta fonction, revue comme suit :

Function EstMde() As Boolean
On Error Resume Next
EstMde=CurrentDB.Properties("MDE") = "T"
End Function

Puisque, par défaut un boolean est faux.
Que si Currentdb.properties("MDE")="T" renverra True si c'est vrai et False
sinon ...
Ca devrait aller non ?
Personnellement, c'est l'écriture que j'utilise.
Pourrais-tu la critiquer constructivement s'il te plait ?




Avatar
Patrice Henrio
De plus, je pense qu'il n'est pas bon de ne pas initialiser à la main les
variables, c'est à dire utiliser les initialisations par défaut.
On n'est jamais à l'abri d'une révision qui au lieu d'initailiser à Faux,
initialiserait à Vrai, de plus pour la portabilité (le transfert vers un
autre langage) les valeurs par défaut peuvent changer ...
Par exemple et de mémoire, les paramètres des fonctions en VB sont opar
défaut ByRef et en .Net ByVal (ou le contraire).
Préciser à chaque fois le mode de passage des paarmètres, même si ce n'est
pas utile permet d'une part de mieux comprendre sans connaître les modes par
défaut, et de passer avec plus de facilité de d'un lanagage à l'autre.


"Eric" a écrit dans le message de news:

Bonjour,

Je me permets d'intervenir, mais le puis-je ?

Oui à la proposition, à la remarque près que je préfère cette écriture:

EstMde = (CurrentDb.Properties("MDE") = "T")

qui a le mérite de ne pas laisser supposer à certains que l'on peut faire
en une seule instruction plusieurs affectations,
cas que je vois très souvent : A = B = 10

--
A+
Eric
Voir : http://users.skynet.be/mpfa/

Maxence HUBICHE [MVP Access] a écrit :
Salut Raymond :)

c'est quasiment un apraté :)
dis-moi, que penses-tu de ta fonction, revue comme suit :

Function EstMde() As Boolean
On Error Resume Next
EstMde=CurrentDB.Properties("MDE") = "T"
End Function

Puisque, par défaut un boolean est faux.
Que si Currentdb.properties("MDE")="T" renverra True si c'est vrai et
False sinon ...
Ca devrait aller non ?
Personnellement, c'est l'écriture que j'utilise.
Pourrais-tu la critiquer constructivement s'il te plait ?





1 2