Create Custom Controls in COM for Access 2003

Short version of the question:

How can I create custom controls for MS Access 2003 without using VB6?

Long version:

I've been spoiled for pleasure in writing C # WinForms applications for the past 6 years and now I need to modify the Access 2003 application. Yes, this will eventually be rewritten as a Dot Net application, but for now it should remain an Access 2003 application.

So, one of the things I love about writing WinForms applications is that I can use any WinForms UI object, say a combobox, and turn it into a custom control that I can add functionality to. I could also take multiple controls, combine them onto a single structural surface as a custom control, and then display it in the VS.Net toolbar as a custom control. (Great when you have a complex collection of data collection items that you need to reuse over and over again.)

So now that I'm stuck with Access 2003 for one of my projects, I want to be able to create custom controls for it. Access 2003 third party controllers use COM. The problem is that the only environment I've ever created custom COM UI controls in is VB 6. Now I still have VB6, but since VB6 is over 10 years old I feel obligated to look for other options ...

I'm sure there are people out there who are still creating COM controls, so what are you guys using if not VB6?

0


a source to share


1 answer


I doubt you will get much help with this particular access, as most Access developers don't need or need what you are asking for. In fact, most of the pros I hobnob avoid using custom controls of all types in Access, simply because there are so many problems with using them in Access. Access is actually a very special animal in many ways, so creating controls that will work in Access is more difficult than creating ones that work in a VB application, for example. I don't really know this, I suppose one of the reasons for this is the fact that the individual controls on the accessor form only have a window handle when they have focus. The reason for this is quite clear: at the time,when Access was designed, system resources were limited and you wouldn't want to allocate window handles for every single control on a form (which might be in the 100's). This may not be a problem these days, but the design in Access remains the same. There are workarounds, but from my observation, they are not very good.



+1


a source







All Articles