I have a form with a tab control on it. The input for respective fields are placed inside the tab control, and I have the "Confirm" button placed outside, on the main form. Now I wanted to be able to navigate my focus from a control from inside to tab control, out to the Confirm button on the form, to allow smooth flowing data entry.
However, it seems like Access separates the tab indexes for the controls in the tab control and outside on the main form, so setting tab index does not work. I tried using the code ON LOST FOCUS and SET FOCUS;
Private Sub txtPurchaseNote_LostFocus()
Forms![frm Imported]![cmdConfirmPurchase].SetFocus
End Sub
But then a dialog box appears:
Run-time error '2110'
Microsoft access can't move focus to the control cmdConfirmPurchase
I am having trouble setting the focus on my forms... I have a parent form with two labels that are coded like this.
Private Sub Advisory Messages_Click() Me![ Advisory Messages].Visible = _ Not Me![Advisory Messages].Visible End Sub
[code]...
I have the visible property set to no on the subform allowing the user to toggle the visibility when the label is clicked. The problem though is when I click inside the subform to use the scroll bar to view records, it transfers the focus to the subform making it almost impossible to close by clicking the label again because the label is on the parent form. I found the "me.parent.setfocus" command and a few other set focus commands but I don't know what I should be applying the command to in order to make it work.
I have a Main Form with a tab control. On each of the six tabs is a SubForm that takes up the entire tab. So basically I have a tabbed interface for my forms, just with a bit more control over the layout than if I just opened the forms separately in the Access window.
Anyway, on one of those subforms is a button. When you click it, it opens a separate form in a pop-up window, which is used to find a specific record. Once that record is found, you can click another button, and the idea is that this pop-up window closes, and you return to the underlying form, which jumps to the record you selected.
So far so good. Now, if I am working on my program in Access, and I open that subform's source form separately in its own tab, click the icon to open the record finding form, find a record, and then click the button to load that record, the following code runs, and it runs flawlessly - closing the pop-up window, and passing the information back to the main form which displays the proper record:
Quote:
Private Sub ViewRecord_Click() Dim RecordID As Integer RecordID = Me.ID DoCmd.OpenForm "CDLExam", , , "ID = " & RecordID DoCmd.Close acForm, "CDLExamCONT", acSaveNo End Sub
Where my program falls apart is that, in actual use, this form is not open on its own. It's open as a subform on one tab of a tab control on a Main Form. So the third line of code falls apart. Access thinks I want to open CDLExam separately, but it can't because it's already open in the subform, so instead I just end up back at the main window like I want, but the form fails to move to the proper record. Basically, line 3 just doesn't do anything.
How can I make this work? I tried replacing "CDLExam" with the name of the main window, but then it tries to move to the record in the main window, which throws an error as the main window doesn't even have a record source attached to it.
how to refer to the SUBFORM which has CDLExam open, and tell THAT to move to the proper record.
When I right click a row on the data sheet side of a split form an select "New Record" I want the curser to go to the first field on the single record side. I've placed this in the OnCurrent but it did no good.
Code:
If Me.NewRecord Then Me!Descrfiption.SetFocus. End If
Any way to set the focus to the single form Side of a split form?
I am using code like this to give warning messages and pass on focus to boxes only when things are selected.
Private Sub TextBox2_Exit(Cancel As Integer) If IsNull(Me.TextBox2) Then MsgBox "TextBox2 cannot be left blank" Cancel = True Else ComboBox1.SetFocus End If End Sub
I do this for a series of required fields in order.
However, I also want a command button that is 'Exit without Saving' that should be clickable at any time, but of course when focus is controlled in my required fields sequence, it can't be clicked. How can I separate this button?
how would i go about setting focus on a tab control? i have a tab control on a form with 6 tab pages. i am on page 4 ( bank ) and i have a button to add a bank account. this opens up the add form and i add the account. i then requery the form and the tab goes back to page 1. how do i set the focus back to the previous opened tab?
i have a tabular form, which on its after update event, i requery the form, and it works fine. However, my only problem is that after the requery occurs, the focus moves to the first field of the first record. Is there a way in which after the requery, the focus will be set at the end, in that blank record, where to insert a new record ?
it is possible to be able to scroll through a List Box with just a mouse over? Or, do you need to set focus on the ListBox before being able to scroll?
I have a blank form that is usually entered from scratch, so all the fields are empty.
We do fill out the form with standard data occasionally, so I'd like to be able to assign a button or use a combo box to automatically fill those fields with predetermined data.
Two questions:
1) Can I use a 'on click' for a button to populate the data using this:
I am try to open a form from another and set a button's OnClick properties to a function and I keep getting an error message..Run-Time Error 2450Cannot find the referenced form ..And this is the code I am using.
I am new to Access and to the forum. I made a check printing system
table name = 'burgan' form name = 'burgan cheque' Fields = 'PV' and 'cheque' and 'Beneficiary'
I have inserted a button (Command31).The function I would like to add on clicking the button
1. it should chose the highest value in both fields (PV and cheque) 2. Create new record 3. Increment it by 1 (both fields 'PV' and 'cheque') 4. the focus should stand on 'Beneficiary' field.
I'm populating a report with a query which pulls criteria from a form. When the 'run' button is pressed it opens the report, running the query, to filter the data. What i'm attempting (and it works if there is data present).
The data is text, which is a filename, which populates an image control. Most of my records have an image present but for the ones that don't I think I need to turn the image control's picture property to 'blank'.
I'm just now encountering problems with the records with no pictures so when i came up with this it worked with my tests which at that time only had images present....
I have two problems.
1) When I run the code as below i get Run-Time Error 2185; you can't reference a property or method for a control unless the control has the focus.
2) when i try to set the focus on the picture control in the report to see if there is text/value present i get runtime error 2478; database doesn't allow you to use this method in the current view.
I assume this is talking about me opening the report in acViewPreview mode but i thought i needed to do this so the images are displayed in the image control.
Code: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Dim strDBPath As String Dim strRelativePath As String Dim strPath As String 'rptOriginalOwnerCategoryItem!Picture.Text.SetFocus [B]Me!Picture.SetFocus[B] 'Test to see if the record has a relative path stored
How to set focus to a non Default instance of a form.
Environment A2007 ADP Project Document Window Option - Tabbed Documents MS SQL 2012 Express DB Windows 7 64 Bit
I using Allen Browne's method to open more that one version of form, storing each form object in a collection declared in a module. No problem there.
Now I'm trying to add a command button on an form to set focus to one of these non-default instances already open.
The form I am trying to set focus to has a the following related properties
Default View: Split Form Pop-up: No Modal: No
The form that has the command button on it is of the same type.
Here is the code I've tried:
'Code on Calling Form Private Sub cmdProjectList_Click() Dim FunctionResult As Boolean
If AppForms.GoToForm("ProjectList") = False Then AppForms.Load_ProjectList
[Code] .....
The code compiles and executes with seemingly no problems. It finds the form loaded, then cycles though and finds the form in Forms but the SetFocus call seems to do nothing. When I run the code against a defualt instance ( one not opened using Allen Browne's method) it works fine and sets focus to it as expected.
Is there any way to change the order that the tab button cycles through the different fields in a form? Right now mine jumps ALL over the place and in some case even misses a field.
I have search the forum and have found many solutions to this same problem but so far none have worked for me. I am fairly new to Access so maybe I am just not understanding properly.
I have a form with a main form and many subforms. All subforms but one are continuous and the other is a single form that does not allow additions.
1. I can tab from the main form to the first subform but can’t get the next subform. I have tried this on the exit of the first combo box in the subform
Private Sub EventInitialActionTaken_Exit(Cancel As Integer) If IsNull(Me.EventInitialActionTaken) Then Me.Parent.[frmeventFsubform].SetFocus End If End Sub
This works until I open a new record from one of the subforms and then I get an error.
2.Then, my last subform is the single form with no additions and I want it to tab to a command button on the main form. Right now it just goes in circles throughout the sub form
3.Also, if I ask to start a new record while my cursor is in one of the subforms, the new record will open with my cursor in that subform field. How do I get it to default to the first field in the main form? I tried Me.EventID.Setfocus on the On Load Event of the main form but this didn’t work.
I think that if I get the answer to question 3 then the code I previously used in question 1 might work.
Any help would be greatly appreciated. Thank you in advance.
I have searched this site and tried several things over the last 3 days and am getting frustrated. All of my forms are built from existing tables. I have a main form (frmevent) with the primary key being EventID. I have many "continuous" subforms e.g. event type, initial action taken, initial outcome that the user can enter more then one record. My Event Type continuous subform has a cascading combo box. One combo box displays the Event Category and the other combo box displays the Event Types. I have the cascading combo working so that when the category is selected on those types that apply to it show up. If the user tabs to the next record and doesn't enter anything in it I want it to tab to the next sub form. I tried (please note that EventInitialActionTaken is the first field in the form) Private Sub EventInitialActionTaken_LostFocus() If IsNull(Me.EventInitialActionTaken) Then Me.Parent.[frmeventFsubform].SetFocus End If End Sub I am getting a run-time error on the form '2452' The expression you entered has an invalid reference to the Parent property. What does this mean and can anyone help. Thank you in advance.
Here's a little design problem, all of my VB script works fine, it's just a design problem:
Toggle Button (onClick) { if pressed in, unlock protected field, pass focus to protected field else (if not pressed in), lock protected field }
Protected Field (lostFocus){ When Focus is lost, protect field then reset toggle button } See, there's no way that I know of for Access to tell what field has focus at any given moment. It lies inert until an event fires off then it responds. You can't wake Access up and tell it to go do something. So, Protected Field has to lock itself when it loses focus.
Here's the problem. If a user unlocks the field but then decides not to make a change and clicks the toggle again to lock the field, first Access fires the script to protect the field (locking it), then it resets the toggle button, then it registers the toggle button click which unlocks the field. See the problem? If the user changes their mind about changing the field and then tries to lock the field, it ends up unlocked. I need something that will work whether the user is good about it or whether the user is in a rush and forgets about it.
Seems simple, but I haven't been able to crack this one.
I've searched and haven't found an obvious answer.
I want to hide a command button after it loses focus. I've tried placing this code on the On Lost Focus and On Exit events of the command button.
Me.cmdName.Visible = False
I get the 2165 error, 'Can't hide a control that has a focus'.
I guess one solution would be to force the focus to another control first, however, "how do I know what control the user is attempting to move the focus to?"
I'm using a label as a button so it looks nicer, but if I press it without officially exiting the last text field I was in, then that text field doesn't update, so the vba believes it's blank or whatever it was.
I could manually setfocus to a couple different fields or have a teeny field thats hard to see to set focus to, but these both seem roundabout.
On a main form I have 2 sub forms. On the main form I have a command button that asks how many guests in a booking and depending on the response populates the subform with Guest Names. However it will only do this if I click on the subform and then click the command button.
I want to include some code that sits behind the command button on the main form that will duplicate the otherwise manual selecting of the sub form. And I am thinking this is a SetFocus procedure.
I have tried this code; [Forms]![Booking].[SubForm1].SetFocus where Booking is the name of the form. I do not know whether the Subform is #1
i have a button that allows you to "edit" the show that is selected. You can double click the show name from the list box, and it opens that show in viewing mode, but you cant edit it. You can click the edit show button in the form that you view the show with, but I want to be able to edit that show from the main form with the list box. But, the problem im having, is if someone clicks the "Edit show" button without have a show selected, they get a error.
If lstShows has focus Then DoCmd.OpenForm "frmEventsEdit", , , "EventID = " & Me.lstShows
Else 'do nothing, since having no code here, it does nothing
End If End Sub
That is what I want, but I cant get access to open that show up if its selected.I need to be able to tell if it has focus on it, and to open that selected show up.
If i open a form with a sub form on can i open it so that the focus go directly to a control on a sub form.I have tried to do it with a macro on the on open event to go to control but it comes up that the control don't exists on the sub form.i am using access 2010.