Solved

Mouse Cursor Location and Form Behavior on Open

Posted on 2011-09-14
13
547 Views
Last Modified: 2013-11-28
I have a button on a form that raises another modal form.  Oddly (and disturbingly) the form that opens also sinks the mouse click.  So, in other words, the sequence of events is:

1) Click button on Form A
2) Button raises Form B
3) Form B also registers a click

That just won't do.  I don't feel like I should have to work around this with mouse events.  What's wrong here?

Mike
0
Comment
Question by:shacho
  • 9
  • 4
13 Comments
 

Author Comment

by:shacho
ID: 36540511
For reference, here is (approximately) the code that raises the form:
DoCmd.OpenForm "MyForm", acNormal, , "ID=111", acFormEdit, acDialog, "blah"

0
 
LVL 75
ID: 36540568

Try removing the acDialog and instead, set the Modal and Popup properties of MyForm to Yes.

DoCmd.OpenForm "MyForm", acNormal, , "ID=111", acFormEdit, , "blah"
0
 
LVL 75
ID: 36540571
"Form B also registers a click"

Also, not exactly sure what you mean by that ?

mx
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:shacho
ID: 36540720
I click the launch button in Form A, then Form B opens, and if there happens to be a button on B right underneath the mouse cursor, that button also gets pushed.

I have a routine that alters the row source of a control on Form B that runs when the form loads.  Somehow that process is messing things up.  If I block that code, the aforementioned phenomenon does not happen.

0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 500 total points
ID: 36540736
Well ... guess I would have to 'be there' on this one.  But did you try what I suggested above ... removing acDialog  etc.

mx
0
 

Author Comment

by:shacho
ID: 36540738
Strike that.  I got it now.  There's a control that drops down automatically on enter.  It's also the first control.  That dropping down is the cause of the problem.  I think it goes something like this: The list drops momentarily - then the row source is changed.  This cancels the drop, but Access assumes the drop was cancelled by a click so it looks for the location of the mouse cursor and clicks.
0
 

Author Comment

by:shacho
ID: 36540751
Solved with a new understanding (thanks for that yesterday) of Key events.

Private Sub cbxItemType_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyTab Then Me.cbxItemType.DropDown
End Sub

Instead of ...

Private Sub cbxItemType_Enter()
    Me.cbxItemType.DropDown
End Sub
0
 

Author Comment

by:shacho
ID: 36540769
Nope - spoke too soon.  Still haven't worked it out.  More soon.
0
 

Accepted Solution

by:
shacho earned 0 total points
ID: 36540806
I really got it now.  You may remember this from yesterday.

"in the end i made two forms for the child table.  one is just a list with no code.  that one gets embedded as a locked subform, for which only two events exist: got and lost focus. if you click on or navigate to the subform with keys, it shows the real editor (the other form) then pushes the focus on to the next control.  it's soooooooo much easier and clear and reliable this way.  and it loads faster. "

So clicking in (or actually, "into") the subform triggers the launch of the form in question.  The subform is locked so the click "in" the subform appears to be a click "on" it.  In this way, it behaves like a button.  But the click ends up getting heard by the form that gets launched.  I don't know what happens behind the scenes, but somehow I suspect if the subform weren't locked, that click might get ignored by the pop up form.  I dunno.  Anyway, now I need to figure out how to work around this.  Bending Access form navigation behavior to your will sure takes a lot of stamina.

Mike

0
 

Author Comment

by:shacho
ID: 36540817
...and they call this "rapid" application development.
0
 

Author Closing Comment

by:shacho
ID: 36558857
-
0
 
LVL 75
ID: 36561059

Rapid is a Relative term.  At least it's not Rabid !!!

mx
0
 

Author Comment

by:shacho
ID: 36563455
Ha. You should have seen me after trying to troubleshoot this problem for 4 hours...
0

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

828 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