Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ControlSource. Une idée SVP

4 réponses
Avatar
roland
Bonjour,

Je voudrais modifier la propri=E9t=E9 ControlSource d'un=20
contr=F4le par VBA. J'ai donc =E9crit la ligne suivante :
Me.ZT_SdC_SC_CC_Montant_Cde.ControlSource =3D "=3Dsomdom('[SdC-
SC-CF-Montant en Euros]'; '[SdC-SC-Commandes=20
fournisseurs]';'[SdC-SC-CF-Id entr=E9e] =3D [SdC-SC-CC-ID=20
sortie]')"

lorsque le programme active cette ligne le d=E9bogueur=20
r=E9pond "Syntaxe incorrecte" erreur 2438

Le fait de supprimer le signe "=3D" dans le texte "SomDom
(...." supprime l'erreur du d=E9bogueur, mais je suis oblig=E9=20
de mettre le signe "=3D" =E0 la main dans la propri=E9t=E9 du=20
contr=F4le pour que le calcul s'effectue.

O=F9 est l'erreur ?

Merci d'avance

4 réponses

Avatar
3stone
Salut,

"roland"
Je voudrais modifier la propriété ControlSource d'un
contrôle par VBA. J'ai donc écrit la ligne suivante :

Me.ZT_SdC_SC_CC_Montant_Cde.ControlSource = "=somdom(...)


c'est quoi somdom ?


Le VBA cause uniquement anglais...

DSum(

ira bien mieux :-)


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Roland
Exac

J'avais déjà essayé mais le résultat est le même. En fait je veux passer un texte au contrôle et Access convertit automatiquement le "Dsum" en "SomDom" alors pourquoi ne pas lui transmettre directement le bon libellé

Il n'en reste pas moins que la question reste entière

Merci de votre intérêt et si une autre idée arrive je suis preneur.
Avatar
3stone
Salut,

"Roland"
... Access convertit automatiquement le "Dsum" en "SomDom"


Non non... dans l'interface utilisateur uniquement !!

Et c'est ce que beaucoup aurait plutôt tendance à reprocher à MS.
On traduit une documentation, des menus, les boutons...
mais, lorsque l'on s'amuse à traduire ce qui touche au "language",
voilà ce que cela donne... :o)


Tente qque chose comme:


Me.ZT_SdC_SC_CC_Montant_Cde.ControlSource """"=DSum(""[SdC-SC-CF-Montant en Euros]"" ;
""[SdC-SC-Commandes fournisseurs]"" ;
""[SdC-SC-CF-Id entrée] =""" & Me.[SdC-SC-CC-ID sortie] & """)""""


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Roland
Merci beaucoup pour la petite puce à l'oreill

En fait, vous aviez la solution quand vous disiez qu'il falait utiliser la syntaxe VBA

J'avais bien utilisé "Dsum " dans mon texte mais je n'avais pas converti les ";" par des ","
La syntaxe exacte est

Me.ZT_SdC_SC_CC_Montant_Cde.ControlSource = "=dsum('[SdC-SC-CF-Montant en Euros]', '[SdC-SC-Commandes fournisseurs]','[SdC-SC-CF-Id entrée] = [SdC-SC-CC-ID sortie]')

Maintenat ça marche impécable

En attente, j'avais utilisé une fonction de ce type directement dans le contrôle

=VraiFaux([C-SdC-SC-CC-Choix type montant]=1;SomDom('[SdC-SC-FF-Montant en Euros]';'[SdC-SC-Gestion des factures fournisseurs]';'[SdC-SC-FF-Id entrée] = [SdC-SC-CC-ID sortie]');SomDom('[SdC-SC-CF-Montant en Euros]';'[SdC-SC-Commandes fournisseurs]';'[SdC-SC-CF-Id entrée] = [SdC-SC-CC-ID sortie]')

C'est un peu lourd et je pense que le choix ne se limitera pas à 2 options. Je n'avais pas envi que cela devienne un roman feuilleton

Merci encore