• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 224
  • Last Modified:

Custom ActiveX Method clash

Hi,

I am developing an ocx in VB6. The ocx has a public method called Requery.

The ocx will be used in a Form in an MSAccess database. There will be a button which when clicked will run the following code...

MyOCXControl.Requery

This should run the public method Requery. It doesn't. This is because MSAccess seems to assign some default methods for custom controls used in it, one of which is Requery. This method seems to override the controls method and obviously does nothing.

Is there any way to override the Requery Method that MSAccess assigns?

Many Thanks in advance.

Cheers,

Rhydian.
0
Rhydian
Asked:
Rhydian
  • 3
  • 2
2 Solutions
 
EDDYKTCommented:
>>MyOCXControl.Requery

>>This should run the public method Requery. It doesn't

If MyOCXControl is your ocx object, then it should run requery function inside that object.
Don't quite sure what you mean
0
 
RhydianAuthor Commented:
Let me try and explain...

When you place any third party Activex control into an Access Form/Report, Access exposes some default properties and methods to it (as well as the ones defined within the control), One of these default methods is Requery. This method is in conflict with one I have defined within the control and seems to overrides it.

Try it. Drop any third party control onto a Form and in the code window of the Form type...

me.nameofcontrol.

This will bring up all the properties and methods, one of which is Requery.

Hope this explains the situation and you can help.

Cheers,

Rhydian.
0
 
Erick37Commented:
"Requery" is a reserved word in Access.  You should rename your method in order to avoid this conflict.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;209187
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
RhydianAuthor Commented:
Thanks for that.

It does sort of make sense, but for the fact that my control can have a method called Refresh, which is a reserved word and not have the problem I have described!

Renaming the method seems the only solution (at present), but I would rather not do this as my control is an enhanced listbox and I would like to keep the methods and properties the same as the MSAccess listbox, so that I can replace MSAccess listboxes in my applications with the new control without having to amend any application code related to the control. i.e if there is code like...Listbox.Requery I would still like it to run regardless of whether the control is a MSAccess listbox or my control.

Any other ideas?

Cheers,

Rhydian.
0
 
Erick37Commented:
This PAQ deals with this issue, and perhaps there is a workaround - but the *solution* has been deleted!  See ameba's comments and email ameba directly to get some insight into this issue.

Solution Title: Reserved word as public method of class
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_11046623.html

Good Luck!
0
 
RhydianAuthor Commented:
Can I have a refund of the points as no answer given sorts the problem that I am experiencing
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now