Solved

Custom ActiveX Method clash

Posted on 2004-10-15
9
184 Views
Last Modified: 2013-11-25
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
Comment
Question by:Rhydian
  • 3
  • 2
9 Comments
 
LVL 26

Expert Comment

by:EDDYKT
ID: 12317870
>>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
 
LVL 1

Author Comment

by:Rhydian
ID: 12317958
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
 
LVL 32

Accepted Solution

by:
Erick37 earned 500 total points
ID: 12319111
"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
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
LVL 1

Author Comment

by:Rhydian
ID: 12319430
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
 
LVL 32

Assisted Solution

by:Erick37
Erick37 earned 500 total points
ID: 12320009
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
 
LVL 1

Author Comment

by:Rhydian
ID: 12563485
Can I have a refund of the points as no answer given sorts the problem that I am experiencing
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now