[AccessD] AccessD Digest, Vol 120, Issue 4

John Bodin jbodin at sbor.com
Fri Feb 8 15:24:01 CST 2013


Yeah I tried =MyMouseDownMove(Button, Shift, X, Y) in the on Mouse Move
event of each text box w/o error (similar syntax with Mouse Down & Up
referencing a different function.)  In the MyMouseDownEvent function I have
the same syntax as manually creating a mouse down event.  When I move my
mouse over one of the text boxes, I get the error "The expression On Mouse
Move you entered as the event property setting produced the following error:
The object doesn't contain the Automation object 'Button'."

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan
Sent: Friday, February 08, 2013 3:38 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] AccessD Digest, Vol 120, Issue 4

Ah, I see what you mean.

About the only way I can think of to get X/Y values directly in your
procedure would be to use 
the API Call GetCursorPos() in your procedure.   

I doubt that you can get button and shift in your proceduresince  the
Windows events which identify those actions are already sunk in the various
built in event procedures (that's where VBA gets the incoming parameters
from those event procedures from).

To get them into your generic procedure, I think that you would have to  put
the single line foo_MouseDown Buttonr, Shift, X, Y in each textbox's
MouseDown()  procedure.

--
Stuart

On 8 Feb 2013 at 14:33, John Bodin wrote:

> Hi Stuart,
> 
> Thanks for response.  I follow what you are saying.  In a little demo 
> app link posted on Access-Programmers by ChrisO, I saw the code 
> (below) for building a more generic function for handling/building a 
> function to assign to an event.  The referencing of me.activecontrol 
> didn't cross my mind in your suggestion, makes sense though.
> 
> So I understand about storing Button,Shift/X/Y in variables local to 
> the form that you mention and then referencing them within routines in the
form.
> My question relates to the "populate these in the MouseDown" comment.  
> How do I generically reference these Button/Shift/X/Y variables from 
> the Mouse Up/Down/Move events?  If I were to create a procedure at 
> Design time in the on mouse down event of a textbox control, it would 
> be foo_MouseDown(Button As Integer, Shift As Integer, X As Single, Y 
> As Single).  That's where I'm having a brain freeze, on how to 
> reference these from a generic procedure - maybe from the storm kicking in
here in the Boston area...
> 
> Thanks,
> 
> John
> ---snip
> Public Function MakeFunctionCall(ByVal strFunctionName As String, _
>                             ParamArray vntArgList() As Variant) As 
> String
> 
>     Dim lngElement  As Long
>     Dim strFunction As String
>     
>     '   The first argument is NOT optional.
>     '   Add Function name and opening bracket.
>     strFunction = "=" & strFunctionName & "("
>     
>     '   All the remaining arguments are optional.
>     '   Loop through argument range, if passed.
>     For lngElement = LBound(vntArgList) To UBound(vntArgList)
>         strFunction = strFunction & Chr$(34) & vntArgList(lngElement) 
> &
> Chr$(34) & ", "
>     Next lngElement
>                                  
>     '   Did we receive any arguments?
>     '   If so, trim off trailing ", ".
>     If Right$(strFunction, 2) = ", " Then
>         strFunction = Left$(strFunction, Len(strFunction) - 2)
>     End If
>     
>     '   Set return valve and closing bracket.
>     MakeFunctionCall = strFunction & ")"
>                                  
> End Function
> ---snip
> 
> Message: 19
> Date: Thu, 07 Feb 2013 06:47:50 +1000
> From: "Stuart McLachlan" <stuart at lexacorp.com.pg>
> To: Access Developers discussion and problem solving
> 	<accessd at databaseadvisors.com>
> Subject: Re: [AccessD] Generic Procedure on form controls for Drag and
> 	Drop
> Message-ID: <5112C176.2253.23E47B62 at stuart.lexacorp.com.pg>
> Content-Type: text/plain; charset=US-ASCII
> 
> Hi John,
> 
> Welcome to the list.
> 
> Instead of  "=TxtBoxDblClick([Txt101])", you can just use 
> ="TxtBoxDblClick()" and then in
> TxtBoxDblClick,  just refer to Me.ActiveControl.   
> 
> You can do the same with your other functions.
> 
> You can make your Up/Down/Move functions even more generic you using 
> something like:
> 
> Select Case Left$(me.activeControl.Name,3)
>    Case "txt" ' It's a text box
>      ...
>    Case "cbo"  'It's a combobox
>    ...
> 
> You can store Button,Shift/X/Y in variables local to the form Dim 
> intBtn As Integer Dim sngX As Single Dim sngY As Single Dim intShift 
> As Integer
> 
> and populate these in the MouseDown
> 
> > 
> > New to this list and need some guidance on a form I've developed (I 
> > posted this on LinkedIn and got a few links with good information, 
> > but still
> having
> > issues).  
> > 
> >  
> > 
> > I have a grid of many text boxes on a form in an Access 2003 app 
> > that I
> fill
> > from a table upon opening the form as well as when the user changes 
> > a date box. I add some generic procedure calls on the fly to each 
> > text box where
> I
> > pass the control to the generic function (for instance, I'll add a 
> > double-click event to text box "Txt101" as "=TxtBoxDblClick([Txt101])".
> This
> > will pass the control to my function TxtBoxDblClick so I can react 
> > to it.) This all works fine for all text boxes and I reference just 
> > one (same) routine for each control.
> > 
> > I'm trying to experiment with Drag and Drop and found some code that 
> > I can get to work if at Design time, I add three event procedures to 
> > a text box control (Mouse Down/Up/Move). If I do this to two 
> > different controls, creating 3 event procedures for each at design 
> > time, I can successfully
> drag
> > and drop between the two controls. So the drag and drop code looks 
> > like it works.
> > 
> > My problem is, I want to have 3 generic routines like my 
> > TxtBoxDblClick function, that I can add on the fly to the On Mouse 
> > Down/Up/Move events
> and
> > I can't figure out the syntax and/or code to make this happen. I can 
> > add
> the
> > custom Functions no problem, but I know I need to be able to deal 
> > with the Button, Shift, X & Y parameters somehow. I can pass the 
> > control to the custom function, but am unable to reference the 
> > Button, Shift, X & Y parameters. I'm guessing I'll need to create some
type of class possibly?
> If
> > so, can someone provide some sample code on how to do this what the 
> > calls would be?  Thanks for any ideas. John
> > 
> >  
> > 
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> > 
> 
> 
> 
> 
> ------------------------------
> 
> Message: 20
> Date: Wed, 6 Feb 2013 18:54:03 -0500
> From: jack drawbridge <jackandpat.d at gmail.com>
> To: Access Developers discussion and problem solving
> 	<accessd at databaseadvisors.com>
> Subject: Re: [AccessD] Generic Procedure on form controls for Drag and
> 	Drop
> Message-ID:
> 	<CAKvidAuqO1stgTkSp9ZTQtvpaTjs6H8FTGEGpkv3WbstR6XMrg at mail.gmail.com>
> Content-Type: text/plain; charset=windows-1252
> 
> John,
> 
> I found another  link that is more focused on your drag and Drop.
> http://www.access-programmers.co.uk/forums/showthread.php?t=238669
> 
> >From post #5
> "I really do not have a meaning of beginner/intermediate but do have 
> some classes broken down into minimalistic form on my SkyDrive in my
signature.
> 
> It?s a developmental sequence of classes used for ?drag and drop? 
> running:- Drag Drop -> Drag Drop Resize -> Drag Drop Resize GridSnap 
> -> Drag DropResize GridSnap Save.
> 
> Some end applications for drag and drop, also on my SkyDrive, are:- 
> Drag Floor Plan, Drag Polygons, Z Order Bound Objects and Drag and 
> DropChess."
> 
> Good luck
> 
> On Wed, Feb 6, 2013 at 1:55 PM, John Bodin <jbodin at sbor.com> wrote:
> 
> > Hello,
> >
> >
> >
> > New to this list and need some guidance on a form I've developed (I 
> > posted this on LinkedIn and got a few links with good information, 
> > but still having issues).
> >
> >
> >
> > I have a grid of many text boxes on a form in an Access 2003 app 
> > that I fill from a table upon opening the form as well as when the 
> > user changes a date box. I add some generic procedure calls on the 
> > fly to each text box where
> I
> > pass the control to the generic function (for instance, I'll add a 
> > double-click event to text box "Txt101" as "=TxtBoxDblClick([Txt101])".
> > This
> > will pass the control to my function TxtBoxDblClick so I can react 
> > to it.) This all works fine for all text boxes and I reference just 
> > one (same) routine for each control.
> >
> > I'm trying to experiment with Drag and Drop and found some code that 
> > I can get to work if at Design time, I add three event procedures to 
> > a text box control (Mouse Down/Up/Move). If I do this to two 
> > different controls, creating 3 event procedures for each at design 
> > time, I can successfully drag and drop between the two controls. So 
> > the drag and drop code looks like it works.
> >
> > My problem is, I want to have 3 generic routines like my 
> > TxtBoxDblClick function, that I can add on the fly to the On Mouse 
> > Down/Up/Move events
> and
> > I can't figure out the syntax and/or code to make this happen. I can 
> > add the custom Functions no problem, but I know I need to be able to 
> > deal with the Button, Shift, X & Y parameters somehow. I can pass 
> > the control to the custom function, but am unable to reference the 
> > Button, Shift, X & Y parameters. I'm guessing I'll need to create 
> > some type of class possibly?
> > If
> > so, can someone provide some sample code on how to do this what the 
> > calls would be?  Thanks for any ideas. John
> >
> >
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> 
> 
> ------------------------------
> 
> Message: 21
> Date: Thu, 7 Feb 2013 15:38:37 +1100
> From: "Darren" <darren at activebilling.com.au>
> To: "'Access Developers discussion and problem solving'"
> 	<accessd at databaseadvisors.com>
> Subject: Re: [AccessD] Generic Procedure on form controls for Drag and
> 	Drop
> Message-ID: <070401ce04ed$00bbc8f0$02335ad0$@activebilling.com.au>
> Keywords: To be Addressed
> Content-Type: text/plain;	charset="us-ascii"
> 
> Hi John,
> Welcome to the list. We have a webpage too. 
> 	http://www.databaseadvisors.com
> On that Webpage is some code samples.
> One in particular that shows one way to accomplish some elements of 
> Drag and Drop in Access.
> Check it out at:
> 	http://www.databaseadvisors.com/downloads.asp
> And look for "Drag and Drop".
> Hope it's useful.
> Darren
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bodin
> Sent: Thursday, 7 February 2013 5:56 AM
> To: accessd at databaseadvisors.com
> Subject: [AccessD] Generic Procedure on form controls for Drag and 
> Drop
> 
> Hello,
> 
>  
> 
> New to this list and need some guidance on a form I've developed (I 
> posted this on LinkedIn and got a few links with good information, but 
> still having issues).
> 
>  
> 
> I have a grid of many text boxes on a form in an Access 2003 app that 
> I fill from a table upon opening the form as well as when the user 
> changes a date box. I add some generic procedure calls on the fly to 
> each text box where I pass the control to the generic function (for 
> instance, I'll add a double-click event to text box "Txt101" as 
> "=TxtBoxDblClick([Txt101])". This will pass the control to my function 
> TxtBoxDblClick so I can react to it.) This all works fine for all text 
> boxes and I reference just one (same) routine for each control.
> 
> I'm trying to experiment with Drag and Drop and found some code that I 
> can get to work if at Design time, I add three event procedures to a 
> text box control (Mouse Down/Up/Move). If I do this to two different 
> controls, creating 3 event procedures for each at design time, I can 
> successfully drag and drop between the two controls. So the drag and 
> drop code looks like it works.
> 
> My problem is, I want to have 3 generic routines like my 
> TxtBoxDblClick function, that I can add on the fly to the On Mouse 
> Down/Up/Move events and I can't figure out the syntax and/or code to 
> make this happen. I can add the custom Functions no problem, but I 
> know I need to be able to deal with the Button, Shift, X & Y 
> parameters somehow. I can pass the control to the custom function, but 
> am unable to reference the Button, Shift, X & Y parameters. I'm 
> guessing I'll need to create some type of class possibly? If so, can 
> someone provide some sample code on how to do this what the calls 
> would be?  Thanks for any ideas. John
> 
>  
> 
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> 
> 
> ------------------------------
> 
> Message: 22
> Date: Thu, 7 Feb 2013 03:28:32 -0500
> From: John Colby <jwcolby at gmail.com>
> To: Access Developers discussion and problem solving
> 	<accessd at databaseadvisors.com>
> Subject: Re: [AccessD] Generic Procedure on form controls for Drag and
> 	Drop
> Message-ID:
> 	<CAA_iUE-0gou8viNeu7swomVSqsUWqcc3hZ8W-Cr9ZoXhW96TuQ at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> This sounds like the perfect use for a class.  A class can Sync 
> events.  A class is used when you have to do the same thing over and 
> over.  The event sinks you mention would be embedded in the class and 
> the code to process the event sinks would be embedded in the class.
> 
> I left my computer at work so I can't look at this right now.  In the 
> morning I will respond further.
> On Feb 6, 2013 1:56 PM, "John Bodin" <jbodin at sbor.com> wrote:
> 
> > Hello,
> >
> >
> >
> > New to this list and need some guidance on a form I've developed (I 
> > posted this on LinkedIn and got a few links with good information, 
> > but still having issues).
> >
> >
> >
> > I have a grid of many text boxes on a form in an Access 2003 app 
> > that I fill from a table upon opening the form as well as when the 
> > user changes a date box. I add some generic procedure calls on the 
> > fly to each text box where
> I
> > pass the control to the generic function (for instance, I'll add a 
> > double-click event to text box "Txt101" as "=TxtBoxDblClick([Txt101])".
> > This
> > will pass the control to my function TxtBoxDblClick so I can react 
> > to it.) This all works fine for all text boxes and I reference just 
> > one (same) routine for each control.
> >
> > I'm trying to experiment with Drag and Drop and found some code that 
> > I can get to work if at Design time, I add three event procedures to 
> > a text box control (Mouse Down/Up/Move). If I do this to two 
> > different controls, creating 3 event procedures for each at design 
> > time, I can successfully drag and drop between the two controls. So 
> > the drag and drop code looks like it works.
> >
> > My problem is, I want to have 3 generic routines like my 
> > TxtBoxDblClick function, that I can add on the fly to the On Mouse 
> > Down/Up/Move events
> and
> > I can't figure out the syntax and/or code to make this happen. I can 
> > add the custom Functions no problem, but I know I need to be able to 
> > deal with the Button, Shift, X & Y parameters somehow. I can pass 
> > the control to the custom function, but am unable to reference the 
> > Button, Shift, X & Y parameters. I'm guessing I'll need to create 
> > some type of class possibly?
> > If
> > so, can someone provide some sample code on how to do this what the 
> > calls would be?  Thanks for any ideas. John
> >
> >
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> 
> 
> ------------------------------
> 
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> 
> 
> End of AccessD Digest, Vol 120, Issue 4
> ***************************************
> 
> 
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 


-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list