473,508 Members | 2,303 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Passing the Me Keyword to a Public Function

A97, NT4.

I've seen an example of this posted here but I can't for the life of me
find it. If I have a lot of controls on a form which all require the same
After Update action, what syntax do you need to pass "Me" to the public
function in a module?

I've tried calling

Public Function libComboFilter(frmForm As Form_Form1) As String

libComboFilter = frmForm.Name
Debug.Print libComboFilter

End Function

from a form called "Form1" with

libComboFilter (Me)

but I get a type mismatch error. I've nothing specific to achieve, I'm just
trying to get the principle right.

Thanks.
Keith.
Nov 13 '05 #1
15 12524
Keith,
are you fishing for Me.ActiveControl? I would think you'd have to
assign that to a variable in your form's code module and then pass the
variable to your function... Something like

Dim strCtrlName as string
Dim strFormName as string
strFormName=me.name
strCtrlName = me.activecontrol.name

X=fSomePublicFunction(strFormName,strCtrlName)

then it's totally unambiguous.

Nov 13 '05 #2
pi********@hotmail.com wrote:
Keith,
are you fishing for Me.ActiveControl? I would think you'd have to
assign that to a variable in your form's code module and then pass the
variable to your function... Something like

Dim strCtrlName as string
Dim strFormName as string
strFormName=me.name
strCtrlName = me.activecontrol.name

X=fSomePublicFunction(strFormName,strCtrlName)

then it's totally unambiguous.


Well I could make it work like that but I could have sworn I saw some code
on here where the Me keyword was passed on it's own ... maybe I was
mistaken.

Many thanks for a speedy response.

Keith.
Nov 13 '05 #3
Try this:

Public Function MyFunction(frmObject)
MyFunction = frmObject.Name
End Function
Call it this way:
MyName = MyFunction(Me)
--

Ken Snell
<MS ACCESS MVP>

"Keith" <ke*********@AwayWithYerCrap.com> wrote in message
news:Xn************************@10.15.188.42...
A97, NT4.

I've seen an example of this posted here but I can't for the life of me
find it. If I have a lot of controls on a form which all require the same
After Update action, what syntax do you need to pass "Me" to the public
function in a module?

I've tried calling

Public Function libComboFilter(frmForm As Form_Form1) As String

libComboFilter = frmForm.Name
Debug.Print libComboFilter

End Function

from a form called "Form1" with

libComboFilter (Me)

but I get a type mismatch error. I've nothing specific to achieve, I'm
just
trying to get the principle right.

Thanks.
Keith.

Nov 13 '05 #4
Either
call libComboFilter(Me)

Or
libComboFilter Me

should work, although why you would use a public function for this when the
parameter type you are passing is Form_Form1 I don't know.

I would expect you to either have

Public Function libComboFilter(frmForm As Form) As String

or put the function in the form class module in which case you don't need to
pass a parameter.
--
Terry Kreft
MVP Microsoft Access
"Keith" <ke*********@AwayWithYerCrap.com> wrote in message
news:Xn************************@10.15.188.42...
A97, NT4.

I've seen an example of this posted here but I can't for the life of me
find it. If I have a lot of controls on a form which all require the same
After Update action, what syntax do you need to pass "Me" to the public
function in a module?

I've tried calling

Public Function libComboFilter(frmForm As Form_Form1) As String

libComboFilter = frmForm.Name
Debug.Print libComboFilter

End Function

from a form called "Form1" with

libComboFilter (Me)

but I get a type mismatch error. I've nothing specific to achieve, I'm just trying to get the principle right.

Thanks.
Keith.

Nov 13 '05 #5
I've been using this approach for years:

How to call a function and pass your form

Me.HelpLabel.Caption = "How is it going"

SomeFunction(Me)
-------------------------------------

Public sub SomeFunction(Calling as form)

Calling.HelpLabel.Caption = "Going really good"

Exit Sub

Hank Reed

Nov 13 '05 #6
Keith wrote:
A97, NT4.

I've seen an example of this posted here but I can't for the life of me
find it. If I have a lot of controls on a form which all require the same
After Update action, what syntax do you need to pass "Me" to the public
function in a module?

I've tried calling

Public Function libComboFilter(frmForm As Form_Form1) As String

libComboFilter = frmForm.Name
Debug.Print libComboFilter

End Function

from a form called "Form1" with

libComboFilter (Me)

but I get a type mismatch error. I've nothing specific to achieve, I'm just
trying to get the principle right.

Thanks.
Keith.


Should be:

Public Function libComboFilter(frmForm As Access.Form) As String


--
Tim http://www.ucs.mun.ca/~tmarshal/
^o<
/#) "Burp-beep, burp-beep, burp-beep?" - Quaker Jake
/^^ "Whatcha doin?" - Ditto "TIM-MAY!!" - Me
Nov 13 '05 #7
"Ken Snell" <kt***********@ncoomcastt.renaetl> wrote:
Public Function MyFunction(frmObject)
MyFunction = frmObject.Name
End Function
Call it this way:
MyName = MyFunction(Me)


That's it, many thanks indeed Ken. Thanks also to all other respondees.

Keith.
www.keithwilby.com
Nov 13 '05 #8
This is bad practice, if you know the type of the argument your procedure
expects then you should declare the argument as that type, not as a variant
which is what this declaration is doing.

--
Terry Kreft
MVP Microsoft Access
"Grumpy Old Man" <ke*********@AwayWithYerCrap.com> wrote in message
news:Xn************************@10.15.188.42...
"Ken Snell" <kt***********@ncoomcastt.renaetl> wrote:
Public Function MyFunction(frmObject)
MyFunction = frmObject.Name
End Function
Call it this way:
MyName = MyFunction(Me)


That's it, many thanks indeed Ken. Thanks also to all other respondees.

Keith.
www.keithwilby.com

Nov 13 '05 #9
"Terry Kreft" <te*********@mps.co.uk> wrote:
This is bad practice, if you know the type of the argument your
procedure expects then you should declare the argument as that type,
not as a variant which is what this declaration is doing.


You're referring to the omission of "As Form"? I've included that and it
works fine. Thanks for your response Terry, much appreciated.

Regards,
Keith.
Nov 13 '05 #10
Terry - I concur wholeheartedly with defining argument types. I left it out
of the example as I wasn't sure if the called function would be used just
for a form, or also might be used for a report.

--

Ken Snell
<MS ACCESS MVP>

"Terry Kreft" <te*********@mps.co.uk> wrote in message
news:tq********************@karoo.co.uk...
This is bad practice, if you know the type of the argument your procedure
expects then you should declare the argument as that type, not as a
variant
which is what this declaration is doing.

--
Terry Kreft
MVP Microsoft Access
"Grumpy Old Man" <ke*********@AwayWithYerCrap.com> wrote in message
news:Xn************************@10.15.188.42...
"Ken Snell" <kt***********@ncoomcastt.renaetl> wrote:
> Public Function MyFunction(frmObject)
> MyFunction = frmObject.Name
> End Function
>
>
> Call it this way:
> MyName = MyFunction(Me)


That's it, many thanks indeed Ken. Thanks also to all other respondees.

Keith.
www.keithwilby.com


Nov 13 '05 #11
Ken,
Good point, but then I would at least go for As Object.
--
Terry Kreft
MVP Microsoft Access
"Ken Snell" <kt***********@ncoomcastt.renaetl> wrote in message
news:l8********************@comcast.com...
Terry - I concur wholeheartedly with defining argument types. I left it out of the example as I wasn't sure if the called function would be used just
for a form, or also might be used for a report.

--

Ken Snell
<MS ACCESS MVP>

"Terry Kreft" <te*********@mps.co.uk> wrote in message
news:tq********************@karoo.co.uk...
This is bad practice, if you know the type of the argument your procedure expects then you should declare the argument as that type, not as a
variant
which is what this declaration is doing.

--
Terry Kreft
MVP Microsoft Access
"Grumpy Old Man" <ke*********@AwayWithYerCrap.com> wrote in message
news:Xn************************@10.15.188.42...
"Ken Snell" <kt***********@ncoomcastt.renaetl> wrote:

> Public Function MyFunction(frmObject)
> MyFunction = frmObject.Name
> End Function
>
>
> Call it this way:
> MyName = MyFunction(Me)

That's it, many thanks indeed Ken. Thanks also to all other respondees.

Keith.
www.keithwilby.com



Nov 13 '05 #12
"Terry Kreft" <te*********@mps.co.uk> wrote:
Good point, but then I would at least go for As Object.


Terry,

I've used "As Form" and everything works fine. Would "As Object" be a
better option?

Regards,
Keith.
Nov 13 '05 #13
Not if it is just Forms you are passing, Ken was making the point that by
declaring the argument as a variant (which is the implicit data type if no
explicit declaration is made) he was leaving open the option to pass a
Report as well.

My point was that in that case declaring the argument as Object would be a
tighter declaration than as Variant.

If your procedure now works stick with it.

--
Terry Kreft
MVP Microsoft Access
"Grumpy Old Man" <ke*********@AwayWithYerCrap.com> wrote in message
news:Xn************************@10.15.188.42...
"Terry Kreft" <te*********@mps.co.uk> wrote:
Good point, but then I would at least go for As Object.


Terry,

I've used "As Form" and everything works fine. Would "As Object" be a
better option?

Regards,
Keith.

Nov 13 '05 #14
"Terry Kreft" <te*********@mps.co.uk> wrote:
Not if it is just Forms you are passing, Ken was making the point that
by declaring the argument as a variant (which is the implicit data type
if no explicit declaration is made) he was leaving open the option to
pass a Report as well.

My point was that in that case declaring the argument as Object would
be a tighter declaration than as Variant.

If your procedure now works stick with it.


Thanks for the clarification.
Nov 13 '05 #15
Yes, I concur.

--

Ken Snell
<MS ACCESS MVP>

"Terry Kreft" <te*********@mps.co.uk> wrote in message
news:DK********************@karoo.co.uk...
Ken,
Good point, but then I would at least go for As Object.
--
Terry Kreft
MVP Microsoft Access
"Ken Snell" <kt***********@ncoomcastt.renaetl> wrote in message
news:l8********************@comcast.com...
Terry - I concur wholeheartedly with defining argument types. I left it

out
of the example as I wasn't sure if the called function would be used just
for a form, or also might be used for a report.

--

Ken Snell
<MS ACCESS MVP>

"Terry Kreft" <te*********@mps.co.uk> wrote in message
news:tq********************@karoo.co.uk...
> This is bad practice, if you know the type of the argument your procedure > expects then you should declare the argument as that type, not as a
> variant
> which is what this declaration is doing.
>
> --
> Terry Kreft
> MVP Microsoft Access
>
>
> "Grumpy Old Man" <ke*********@AwayWithYerCrap.com> wrote in message
> news:Xn************************@10.15.188.42...
>> "Ken Snell" <kt***********@ncoomcastt.renaetl> wrote:
>>
>> > Public Function MyFunction(frmObject)
>> > MyFunction = frmObject.Name
>> > End Function
>> >
>> >
>> > Call it this way:
>> > MyName = MyFunction(Me)
>>
>> That's it, many thanks indeed Ken. Thanks also to all other
>> respondees.
>>
>> Keith.
>> www.keithwilby.com
>
>



Nov 13 '05 #16

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

13
17903
by: Abe Frohnman | last post by:
Hello all, I'm passing a reference to a class into the constructor of a form, like so: public MyForm(int count, ref Area myArea) {...} How can I use myArea outside the constructor? Should I...
3
2193
by: aaa | last post by:
I am having trouble getting a complex data type to get passed to a non-COM dll's function by ref and return back data from that object. Simple data types work fine but when I try the complex data...
13
2749
by: Maxim | last post by:
Hi! A have a string variable (which is a reference type). Now I define my Method like that: void MakeFullName(string sNamePrivate) { sNamePrivate+="Gates" }
5
1639
by: blue | last post by:
We often get connection pooling errors saying that there are no available connections in the pool. I think the problem is that we are passing around open readers all over the place. I am...
7
2464
by: DareDevil | last post by:
I have written a method that should modify the folder path passed to it into one that exists and is selected by the user. It then returns a boolean depending on whether a folder path was selected by...
12
2662
by: Andrew Bullock | last post by:
Hi, I have two classes, A and B, B takes an A as an argument in its constructor: A a1 = new A(); B b = new B(a1);
7
3290
by: TS | last post by:
I was under the assumption that if you pass an object as a param to a method and inside that method this object is changed, the object will stay changed when returned from the method because the...
4
2805
by: Deckarep | last post by:
Hello fellow C# programmers, This question is more about general practice and convention so here goes: I got into a discussion with a co-worker who insisted that as a general practice all...
13
3182
by: Andy Baker | last post by:
I am attempting to write a .NET wrapper in C# for an SDK that has been supplied as a .LIB file and a .h header file. I have got most of the functions to work but am really struggling with the...
0
7123
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7495
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5627
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5052
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4707
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3193
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3181
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
766
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
418
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.