Solved

Cancel enter key on the after update event

Posted on 2014-11-14
10
30 Views
Last Modified: 2015-11-11
When I hit the enter key in a field the after update event is triggered and form with a listview opens. I want first row in listview to have focus when it's open but that creates a problem. It's seems like the keycode from the enter key  still comes to action and automatically select the first row in listview and the form closes.  Can I someway trap or cancel the behavior from the enter key? I have tried to set the keycode to 0, but its look like the enter key comes to play after all code is done.
0
Comment
Question by:hallpett
  • 4
  • 4
  • 2
10 Comments
 
LVL 10

Expert Comment

by:Gozreh
ID: 40442439
Can you please write your example code on afterupdate event ? How are you triggering to open the listview form ?
0
 

Author Comment

by:hallpett
ID: 40442461
Afterupdate code:

Private Sub SlakteDato_AfterUpdate()
Dim stDocName As String
    
    stDocName = OppslagsForm
    DoCmd.OpenForm stDocName, acNormal, , , , acWindowNormal    
    
End Sub

Open in new window


Form with listview is named "OppslagsForm"
In the load event of this form I have this code:
Private Sub Form_Load()
    
    Call FillListView1
    lstListView1.SetFocus 'Focus on first row in listview

End Sub

Open in new window


When row is selcted by doubleclick or enter I Close the form and to some other stuff. My problem is that the enter stroke that triggered the afterupdate event comes to use and select the first row in the listview as soon as the listview formed is opened and thereby close it at once.
0
 
LVL 10

Expert Comment

by:Gozreh
ID: 40442497
When row is selcted by doubleclick or enter I Close the form and to some other stuff.
Are you using OnEnter event to close form ?
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 

Author Comment

by:hallpett
ID: 40442517
I'm this this event/code to close form:
Private Sub lstListView1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
    If KeyCode = 13 Then
    	DoCmd.Close acForm, "frmSlakteregistreringOppslagDisp"
	... some action
                  ... more action
    End If
End Sub

Open in new window

0
 
LVL 10

Expert Comment

by:Gozreh
ID: 40442542
You can use the KeyDown
Private Sub lstListView1_KeyDown(KeyCode As Integer, Shift As Integer)
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40442557
try

* set the Forms Key Preview property to Yes (in the Event tab) of the form
* use the Form event

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then KeyCode =0

End sub
0
 
LVL 10

Expert Comment

by:Gozreh
ID: 40442594
Private Sub lstListView1_KeyDown(KeyCode As Integer, ByVal Shift As Integer) 
    If KeyCode = 13 Then
    	DoCmd.Close acForm, "frmSlakteregistreringOppslagDisp"
	... some action
                  ... more action
    End If
End Sub

Open in new window

0
 

Accepted Solution

by:
hallpett earned 0 total points
ID: 40447004
Tried your solutions, but same problem no matter what. Solved it by using a private variable so that I could controll the first key event after opening of the form.
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 41198524
@hallpett,

post the solution that solved your problem so that others which might have the same problem may benefit too.
0
 

Author Closing Comment

by:hallpett
ID: 41225705
-
0

Featured Post

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.

Question has a verified solution.

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

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

770 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