Es ist möglich, .Net UserControls zu erstellen, die auf einem VB6/MS Access-Formular über COM mit Hilfe der Interrop toolkit oder als einfache ActiveX verwendet werden können..Net usercontrol in MS Access
Dies funktioniert ziemlich gut, außer einem großen Schmerz: resizing.
Sie können die Größe des Steuerelements im Formular zur Laufzeit nicht ändern.
Verankerung der Steuerung an den gegenüberliegenden Seiten der Form, die sie jedes Mal, wenn Sie das Formular wachsen macht die Größe, auch wenn Sie das Formular reduzieren ...
Es scheint keinen Weg, um dieses Verhalten zu zähmen:
- Von .Net schlägt jeder Versuch, das UserControl durch Code zu ändern, fehl.
- Von MS Access kann das Benutzersteuerelement auch nicht durch Code geändert werden.
Anscheinend kann eine Lösung zu wrap the .Net Usercontrol in a VB6 usercontrol sein. Unglücklicherweise muss die VB6-IDE nicht mehr verwendet werden, da noch ein weiterer Wrapper und mehr Ad-hoc-Code benötigt wird ...
Gibt es eine Möglichkeit, dieses Problem zu lösen?
Warum in der Welt denken Sie, dass Sie das tun müssen? Es scheint übermäßig kompliziert und wahrscheinlich instabil/unkalkulierbar. Wenn Sie Ihr Frontend in Access erstellen müssen, erstellen Sie es in Access mithilfe der von Access bereitgestellten Steuerelemente und lernen Sie, mit den Einschränkungen von Access zu leben. Sie werden viel weniger graue Haare haben, wenn Sie dies tun! –
.Net Interoperabilität mit Access funktioniert ziemlich gut in allen Bereichen, mit Ausnahme dieses seltsamen Problems. –
Bei allem Respekt David, es ist nicht unzumutbar, eine vorhandene Anwendung auf .Net zu verschieben, indem Sie sie stückweise durch .Net-Benutzersteuerelemente ersetzen, die sowohl in der Access-App als auch in der .Net-Version verwendet werden können. Dies ermöglicht es uns, an der Anwendung zu arbeiten, ohne 2 Implementierungssätze erweitern und warten zu müssen. Access ist nicht das richtige Werkzeug für alle Anwendungstypen, und hier ist es sinnvoller, den Code des Frontends zu vereinfachen und in eine reicher Umgebung zu verschieben. –