Fonction Eval vba Access

Fermé
akelwood - 1 mars 2010 à 16:45
blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024 - 1 mars 2010 à 16:58
Bonjour,

J'essaye d'évaluer avec la fonction "Eval" vba d'access une variable String qui contient cette valeur :

"StoreMatrixData(MonJeu.[visual_name], MonJeu.[visual_storage_table], MesActions.[visual_query], MonJeu.[visual_potential_type])"


StoreMatrixData est une fonction publique écrite par mes soins
MonJeu et MesActions sont des variable RecordSet

Apparement MonJeu et MesActions de sont pas dans le scope du Eval, et Access ne sait pas les reconnaitre.

Message D'erreur : "Impossible pour Microsoft Access de trouver le nom 'MonJeu' entré dans l'expression"

Par conséquent il me semble de la fonction Eval ne soit pas vraiment un fonction Eval comme en Perl par exemple.

Est-ce que je me trompe, si oui, si quelqu'un à la solution ...

Pour info , le code complet ci-dessous :

Function GenerateReport()
Dim MaBase As Variant
Dim MonJeu, MesActions As Recordset
Dim SQL, ToEval As String
Dim VisualType As Integer

If Forms("otr")("otr_family").Column(1) = "Group OTR All Families" Then
VisualType = 431
Else
VisualType = 430
End If

SQL = "SELECT * FROM VISUAL_DESCRIPTOR WHERE visual_type=" & VisualType
Set MaBase = CurrentDb
Set MonJeu = MaBase.OpenRecordset(SQL, dbOpenSnapshot)

While Not MonJeu.EOF
Debug.Print "Doing report on " & MonJeu("visual_name")
SQL = "SELECT * FROM VISUAL_QUERY WHERE visual_id=" & MonJeu("visual_id")
Set MesActions = MaBase.OpenRecordset(SQL, dbOpenSnapshot)
While Not MesActions.EOF
If MesActions("visual_action") = "Run" Then
DoCmd.SetWarnings False
DoCmd.RunSQL MesActions("visual_action")
DoCmd.SetWarnings True
Else
Eval MesActions("visual_action") '<- L'erreur se produit ici
End If
MesActions.MoveNext
Wend
ExportDataToExcel "" & MonJeu("visual_storage_table")
Debug.Print "Doing report on " & MonJeu("visual_name")
MonJeu.MoveNext
Wend

End Function

Function StoreMatrixData(MyTitle As String, MyTable As String, MyQuery As String, MyPotentialType As Integer)

...
End Function

1 réponse

blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024 3 292
1 mars 2010 à 16:58
Salut,

as-tu essayé :

"StoreMatrixData(""MonJeu.[visual_name]"","" MonJeu.[visual_storage_table]"", ""MesActions.[visual_query]"", ""MonJeu.[visual_potential_type]"")" 
0