Solved

Switch Focus

Posted on 2013-01-13
6
235 Views
Last Modified: 2013-01-22
I have the focus on a form locked onto a graph and do not seem to be able to move it to any other field on the form via vba.

Very strange!

Any help welcome.
0
Comment
Question by:SweetingA
  • 3
  • 2
6 Comments
 
LVL 29

Accepted Solution

by:
IrogSinta earned 500 total points
ID: 38772724
How are you trying to switch focus? Have you tried something like:
Me.NameOfTextbox.SetFocus

If so, you need to provide more information.
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 38772802
With the focus on a graph, you may have to us the parent.  I've not tried that before, but depending on where the code is that is executing this, you may need to try something like:

me.parent.setfocus

or possibly

Forms!yourFormName.Form.setfocus

or

Forms!yourFormName.Form.SomeControlName.Setfocus
0
 

Author Comment

by:SweetingA
ID: 38772938
I have tried....

Me.txtboxname.SetFocus - no luck but no error
Forms!myform.txtboxname.SetFocus - no luck but no error
Forms!myform.Form.txtboxname.SetFocus - no luck but no error
Me.Parent.SetFocus - no luck, error - invalid reference to the parent property

Regards
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 29

Expert Comment

by:IrogSinta
ID: 38772950
On what event do you have your code? Is txtboxname the actual name of the textbox control?
0
 

Author Comment

by:SweetingA
ID: 38772992
There is a lot of code running off the back of an after update event, please see code below....

You will have to excuse my clumsy programming as i am no access programmer.

The problem started when i wanted to display a graph, to get the graph to display i needed to double click it so i simulated the mouse click.  When i do that it works but it leaves the graph data table on show - to get rid of that i need to click into any other box which is why i was trying to change the focus to a text box and click on it.

Private Sub Measure_AfterUpdate()
    Dim a As String
    Dim b As String
    Dim c As String
    Dim d As String
    Dim e As String
    Me.Unit.Requery
    Me.[Sort Criteria] = Me.Year & Me.Period & Me.Measure
    Me.[Sort Criteria 2] = Me.Year & Me.Measure
    Me.[Sort Criteria 3] = Me.Year - 1 & Me.Period & Me.Measure
    a = DLookup("[Unit]", "tbl_PDM_TargetProjects", "[Measure]=Forms!frm_PDM_Results.Measure")
    b = DCount("[Sort Criteria]", "tbl_PDM_Results", "[Sort Criteria] = Forms!frm_PDM_Results.[Sort Criteria]")
    c = DCount("[Result]", "tbl_PDM_Results", "[Sort Criteria]=Forms!frm_PDM_Results.[Sort Criteria 3]")
    If c = 1 Then
        d = DLookup("[Result]", "tbl_PDM_Results", "[Sort Criteria]=Forms!frm_PDM_Results.[Sort Criteria 3]")
        Me.PYR = d
        strSQL = "UPDATE tbl_PDM_Results" & " SET tbl_PDM_Results.[Previous Year Result] = " & d & " WHERE [Sort Criteria] = Forms!frm_PDM_Results.[Sort Criteria 3]"
        With DoCmd
            .SetWarnings False
            .RunSQL strSQL
            .SetWarnings True
        End With
    End If
    If b = 0 Then
        If IsNull(Measure) Then
            MsgBox ("Enter Measure")
            Me.Result.Locked = True
            Me.Measure.SetFocus
        Else:
            Me.Unit = a
            Me.Result.Locked = False
            CurrentDb.Execute "delete * from tbl_PDM_Results WHERE [Result] is NULL"
            Me.frm_PDM_Results_subform.Visible = True
            Me.SubformLabel.Visible = True
            Me.Graph1.Visible = True
            Me.Graph1.SetFocus
            Call LeftClick
            Call LeftClick
            Me.Result.SetFocus
            Call LeftClick
        End If
    Else:
        e = MsgBox("Record exists, do you want to update an existing record?", vbYesNo)
        If e = vbNo Then
            Me.Year = Null
            Me.Period = Null
            Me.Project_Category = Null
            Me.Measure = Null
            Me.Unit = Null
            Me.Sort_Criteria = Null
            Me.[Sort Criteria] = Null
            Me.[Sort Criteria 2] = Null
            Me.[Sort Criteria 3] = Null
            Me.Year.SetFocus
        ElseIf (e = vbYes) Then
            With Me.RecordsetClone
            .FindFirst "[Sort Criteria]='" & Me.[Sort Criteria] & "'"
            If Not .NoMatch Then
                Me.Bookmark = .Bookmark
            Else
                MsgBox "Record not found"
            End If
            End With
            CurrentDb.Execute "delete * from tbl_PDM_Results WHERE [Result] is NULL"
            Me.frm_PDM_Results_subform.Visible = True
            Me.SubformLabel.Visible = True
            Me.Graph1.Visible = True
            Me.Graph1.SetFocus
            Call LeftClick
            Call LeftClick
            Me.Result.SetFocus
            Call LeftClick
        End If
    End If
End Sub

Thanks
0
 

Author Closing Comment

by:SweetingA
ID: 38807804
Simple but correct, other issues at play here, focus seems to be switching to item directly under position of yes/no buttons on message box
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

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
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…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

830 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