Topic
Accessing to calculated datas in VBA
Page d'accueil ' Communauté ' Automation et VBA ' Accès aux données calculées en VBA
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par HerveM1234, le il y a 9 années et 9 mois.
-
AuteurMessages
-
11.08.2015 à 15:20 #35210HerveM1234Participant
Hi,
What is the best way to access from VBA to datas calculated (or not) in FlexProScript.
I tried :[code]Dim toto1, toto2, toto3
Set toto1 = ActiveDatabase.RootFolder.Object(“Formulasmyformula.FML”, fpObjectTypeFormula).Value
Set toto2 = toto1.X
toto3=toto2(0) ‘ acces to the first xvalue of myformula for example[/code]
It seems to work fineIf I write
[code]dim toto
toto=ActiveDatabase.RootFolder.Object(“Formulasmyformula.FML”, fpObjectTypeFormula).Value.X(0)
[/code] it doesn’t work. Why?This this code does not work either :
[code]
dim toto
set toto = databases(“MyDatabase.FPD”).Object(“Formulasmyformula.FML”).value
[/code] Something wrong?Thank you for the help
11.08.2015 à 15:20 #35212HerveM1234ParticipantHi,
What is the best way to access from VBA to datas calculated (or not) in FlexProScript.
I tried :[code]Dim toto1, toto2, toto3
Set toto1 = ActiveDatabase.RootFolder.Object(“Formulasmyformula.FML”, fpObjectTypeFormula).Value
Set toto2 = toto1.X
toto3=toto2(0) ‘ acces to the first xvalue of myformula for example[/code]
It seems to work fineIf I write
[code]dim toto
toto=ActiveDatabase.RootFolder.Object(“Formulasmyformula.FML”, fpObjectTypeFormula).Value.X(0)
[/code] it doesn’t work. Why?This this code does not work either :
[code]
dim toto
set toto = databases(“MyDatabase.FPD”).Object(“Formulasmyformula.FML”).value
[/code] Something wrong?Thank you for the help
22.09.2015 à 10:45 #35211Bernhard KantzParticipantThe first example won’t work since “value.X” does not exist for a FlexPro formula object. Instead, you have to use e.g.
[code]
Dim toto
toto = ActiveDatabase.RootFolder.Object(“Formula”, fpObjectTypeFormula).Value(fpDataComponentX)(0)
[/code]
Moreover, it is suggested to use early binding, e.g.:[code]
Dim fml as Formula
fml = ActiveDatabase.RootFolder.Object(“Formula”, fpObjectTypeFormula)Dim result as double
result = fml.Value(fpDataComponentX)(0)
[/code]
Finally, in the last example you should open the desired database first and should again use early binding. More details about the value property can e.g. be found in the FlexPro Online-Help under Automating Processes | Automation Using FlexPro Visual Basic. -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.