I have a tab control on my form. In the change event of the tab control I am trying to tell it to move to the first field on each page of the tab control whenever the page no. changes:
Private Sub TabScreenAssess_Change()
'when a new page gets the focus, set the focus to the first control on that page
Dim PageNo As Integer
PageNo = Me!TabScreenAssess.Value
Select Case PageNo
Case "0": gynFemale.SetFocus
Case "1": tbPriorHx.SetFocus
Case "2": suSubUseAssess.SetFocus
Case "3": mhaCognitiveFunct.SetFocus
End Select
End Sub
This works when I am tabbing normally through the controls. But when I click back to the first tab, it says "Access can't move the focus to the control gynFemale" (gynFemale is the first control on the first tab.) It works for the other tabs. That is when I click on another tab, the focus goes to the first field on that tab. When I enter a value in the gynFemale field (it is a combobox, with options Yes or No), sometimes it appears to save the value, then I discover that it has been saved as record #0.
I am trying to write simple code that undoes entering a new record and moves the focus to a mandatory field. I wrote the code below; however, I get this run time error message each time I run it.
DB can't move the focus to the control PlotNum.
My code: Private Sub cmbHouseType_BeforeUpdate(Cancel As Integer) Forms![frmHouse]![qryHouse2]![PlotNum].SetFocus If Forms![frmHouse]![qryHouse2]![PlotNum].Text = "" Then Cancel = True Me.Undo MsgBox "Please enter the Plot Number first, then enter the House Type" End If End Sub
I don't like the look of Combo boxes on forms, especially on Continuous forms made to look like a spreadsheet. I think the arrow is distracting, and since you cannot change its color frequently looks bad. My plan was to use two controls - a text box, and a combo box. I would have the combo box hidden and the text box visible. When the user clicked on the text box, I would make the combo box visible, and hide the text box. Then, when the user left the field, I'd hide the combo box and reveal the text box.
The first procedure runs fine, and when I click on the text box it changes to a combo box. However, when the second procedure runs, I get error 2110, cannot move focus.
Any ideas why I get this error, or any ideas of a better way to accomplish this??
I have a subform that I use to scan in products using a barcode reader, when the item scans it moves to the quantity (Qty) field where I have this code:
Code: Private Sub Qty_GotFocus() Qty.Value = 1 DoCmd.GoToRecord , , acNewRec txtOrderNo.SetFocus End Sub
I am simply trying to set the Qty value to 1 and move onto the next record ready to scan another product in.
I am currently stuck on set focus property. I have a main from with nested subform. I am trying to move the focus from last field of the subform to another field on the main form.
Now I have a field name [Securedesign] in frmOrderdetails and I want the tab order to navigate to field [CustomerID] in frmAddresses which is a subform to frmCustomers.
I tried hiding a list control by setting its visible property to Flase in VB; however, it keeps returning a message: You can't hide a control that has the focus.
I don't know who to move the focus from my list control before hiding it. I searched in the MSDN online, but with no luck.
I have a form with 2 tabs and a sub form on each of those tabs. form1, subformA, subformB on tab control - tabctrl - pageA, pageB. How can i set focus from one tab to another without actually clicking the tab?
I tried this:
TabCtl.Pages("page2").SetFocus
It's comming up with an error - "object required"
I also tried:
page.2.setfocus and that's comming up with an error that it's wrong syntax.
I also tried:
formMyForm.page2.setfocus and that says object required as well.
I do not want the cursor to move to the next control on a form when the user presses the enter key. It is a memo field and I want the cursor to move to the next line as it would in a word document.
I have read the threads on this subject and I thought I had my coding fixed, but obviously not, beacause I still get the error, "You can't hide a control that has the focus". Maybe it is a form/subform thing.
Here is my code:
Private Sub txtAge_AfterUpdate() If Me.txtAge > 39 Then Me!subfrmVersion.Form.chkWellness.Visible = False End If End Sub
txtAge is on the main form and chkWellness is on the subform.
and two sub-forms called "frm_fabricator" & "frm_engineer"
On the sub form "frm_fabricator" I have a combo box and after updating this combo box (called fabricator) I would like the cursor to jump into a field called “ApllicationsEng” on the other sub form "frm_engineer"
I have a continuous form populated with a pivot view from SQL. When I enter data in the form I send the data to SQL (ctrl after_update) and then re-populate the form. It works.
When I have entered data in a ctrl - then I have to bookmark the record so I can select it again (find_first). I can "save" the location of the control where I have entered data, but I want to select the location where the user has set focus - which triggered the ctrl after_update..My ctrl after_update looks like this:
I have a form that allows me to update entries in a table. When I select the line I need to update and hit the "edit" button I get a run time error '2164' You cant disable a control while it has the focus. when I debug the line in the code that is highlighted yellow is Me.cmdEdit.Enabled = False.
I developed the database in access 2013, and now I am forced to run the database on a computer that has Access 2003. I have changed the database base to access 2000-2003.
I have a toggle control on a form which depending on selection uses a loop and instr to make 'not visible' a set of controls on a subform.(forms! Mainform !subform.form)I get error 2165 but if I test immediatley before the make not visible process it returns the toggle frame as being the active control.
And trantype look-up field containing transaction type debit or credit.
Here in this form i want when i select debit transaction type then control move to the Damount and on pressing Enter key Camount skip and control move on Description, and same like this when i choose transaction type Credit then Damount skip away and control move on Camount field and next to description, and access doesn't ask for enter value in Damount.
I cant seem to type after a couple of lines as the page moves to the top, i have to keep pressing shift and F2 to complete the typing. Even with Shift and F2 box im unable to click enter to go to the next line as the box closes.
So if i start typing in the pic FM2 then FM1 appears automatically. Basically i cant use the memo control like a word document for my users.
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
On a form (default view: Single), I have a bunch of bound controls that display one record at a time from tblMain. I have a bunch of unbound controls as well (buttons).
If the user tabs through all the controls, reaches the last one (btnLast), and presses tab again, the focus is set to the first control (btnFirst) and the bound controls change to display the next record. I just want the focus to be set to the first control without the displayed record being changed.So I set up an "If" statement in Private Sub btnFirst_GotFocus()
Code:
If Screen.PreviousControl.Name = "btnLast" Then [code to change record back to previous record] End If
But btnFirst gets the focus when the form opens, so Screen.PreviousControl spits out an error.I've accommodated this like so:
Code:
On Error GoTo ErrorHandler If Screen.PreviousControl.Name = "btnLast" Then [code to change record back to previous record] End If Exit Sub ErrorHandler: Exit Sub
On my data entry form I have a tab control with three pages
At the bottom of the first page I have a sub form with 3 fields
Currently, when tabbing, the focus runs through the fields as per the tab order
BUT
Once it gets to the subform (datasheet view) it jumps into the first field of the first record rather than the first 'empty cell' thereby starting a new record in the datasheet.
Once the three fields in the datasheet are completed the focus tabs back to the top of the first page of the form rather than onto the next page of the form
How to correctly reference controls using VBA so I could SetFocus where I want?
The Main form is called frm_Admissions
It has three pages called Patient, Treatment & Service Providers
Patient has a subform called sub_Cluster (which may or may not hold Cluster Information)
I would like the tab order to jump from the last textbox on the form into the first field of a new record in the datasheet (rather than the first field of any existing records)
Once it has finished in the datasheet I need to tab to the first field/textbox in the Treatment's page of the form rather than back to the first field/textbox in the Patient's page.