Bonjour,

J'ai un soucis avec l'interoperabilité .NET avec Access. Je dois modifier un report Access dynamiquement pour rajouter des champs d'affichage et je tombe sans arrêt sur une exception.

Voici le code d'ouverture d'un report Access :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
private Access.Application m_AccessApp = new Access.ApplicationClass();

DAO._DBEngine engine = m_AccessApp.DBEngine;
DAO.Database database = engine.OpenDatabase(...);
m_AccessApp.OpenCurrentDatabase(...);

DoCmd accessCommand = m_AccessApp.DoCmd;

accessCommand.OpenReport(reportName, Access.AcView.acViewDesign, System.Reflection.Missing.Value, System.Reflection.Missing.Value);

Access._Control newControl = m_AccessApp.CreateControl("E_Print", Access.AcControlType.acTextBox, Access.AcSection.acDetail, dtcReport, null, left, top, width, height);
Voici l'exception générée sur la dernière opération :
COMException : Le type ne correspond pas.

Si quelqu'un sait modifier des report Access en utilisant les objets COM pour m'aider...

Merci !