General :: Get Value Combobox / Textbox That Does Not Have Focus
Sep 21, 2012
I am trying to get the value of a combobox after selecting an "OK" button but get "You can't reference a property or method for a control unless the control has the focus." Most would probably say use .Value but when I press "OK" I am prompted for a value, or as in another case get Null.I tried setting the focus prior to the violating line of code, but no go.
Example:
Code:
Private Sub viewByRegionOKButton_Click()
DoCmd.OpenReport "byRegionReport", acViewPreview, , "RegionName = '" & regionComboBox.Text & "'"
End Sub
I am trying to highligh a subform textbox a yellow color on focus. However it is highlighting every textbox in that field as it is a continuous form therefore they are all named ThisCount.
Is there a way to highlight just the specific textbox that I am in. I have tried.
Code: Dim ctlCurrentControl As Control Dim strControlName As String Set ctlCurrentControl = Screen.ActiveControl strControlName = ctlCurrentControl.Name Set ctlCurrentControl = Screen.ActiveControl
I'm using a very simple unbound textbox on a very simple form, with the following Expression to find me data in a query and sum the last 30 days, based on a combo-box on my form...
Only thing is, it's showing me only the data from the last 30 days...regardless of the value in the combo.
=DSum("Credit","qryIncVsExp","TransDate>=#" & Date()-30 & "#" And "AccountID_FK="""&[cboaccount].[column](1)&"")
I'm sure it's something to do with the number of "'s I have, but I'm probably more than likely ever so wrong.
I have 2 comboboxes (cboTeacher1 and cboTeacher2) and I do not want them to contain the same value. If the same value is chosen, I want a messagebox to show the error and keep the focus in the offending combobox.
I wrote the code below for cboTeacher1 and it functions in the case that your are making a selection in cboTeacher1; however, if you click ok on the msgbox and then press tab, the mesage box is not redisplayed and the focus is switched from cboTeacher1.
I tried placing the same code also in the cboTeacher_Exit event and when tabbing out of cboTeacher1, the msgbox is displayed, but the focus will not stay in cboTeacher1, it shifts to cboTeacher2.
How do I keep the focus locked in cboTeacher1 until both cboTeacher1 and cboTeacher2 contain different values.
Private Sub cboTeacher1_BeforeUpdate(Cancel As Integer) If cboTeacher1.Column(1) = Me.cboTeacher2.Column(1) Then ' Both Primary and Secondary Teachers are the same 'Determine if either Teacher cbo contains a null value If IsNull(cboTeacher1) = False Or IsNull(cboTeacher2) = False Then ' Alert the User of the discrepancy MsgBox "You can not have the same teacher's name in bowth Primary and Secondary Teacher" Me.SetFocus End If End If End Sub
In a form, I go to a textbox with setfocus. The whole text is selected then. But how can I place the cursor after the existing text, so that I can begin writing immediately?
I have unbound TextBox in continuous form and I would like that it never get focus. In property I specified Enabled=No and Locked=Yes. But it doesn't work.
It related training (Training topic and Training Date). I used combobox as training topic (fill with items 0 and 1. 0 for not train and 1 for trained). when user choose 0, cursor will go to another combo box (Other training topic), by Training Date is disable, but if user choose 1, cursor will working as normally let user to enter training date.
Problem : When I choose 0 in topic control in Form View and save, It works normally (Training Date is disable), but when I Open it in Form Design View and Open It to Form view that topic control become enabled.
I have a table filled with company contacts and form with a combo box containing the contacts names.
When a contact is selected I want it to show their Telephone, Mobile and email address in text boxes below. But it only shows the telephone number and the other two fields stay blank.
what I'm doing wrong ?
I have this code assigned to the combobox:
Code: Private Sub MainContact_Change() Me.Text169 = Me.MainContact.Column(3) Me.Text167 = Me.MainContact.Column(2) Me.Text177 = Me.MainContact.Column(1) End Sub
And this is the row source:
Code: SELECT tbl_Contacts.Salutation & " " & tbl_Contacts.ContactForename & " " & tbl_Contacts.ContactSurname AS MainContact, tbl_Contacts.ContactTelephone, tbl_Contacts.ContactMobile, tbl_Contacts.ContactEmail FROM tbl_Contacts WHERE (((tbl_Contacts.ID_Company)=[tbl_CompanyBookings].[ID_Company]));
'Check if curent record is a new adn that the states combo has not changed 'warn user and determine desired action 'Reset suburbs combo and text box if user wishes to change states
I hope someone can guide me in the right direction. I have developed a database to keep track of Service Calls we receive. We manufacture and/or service a wide range of products from Automatic Laundry/Kitchen chemical dispensers to office furniture. We are currently using this data base and it works well, I'm trying to make it easier for the user.
I have a form to enter information into a table, tblService Calls. In the form I have a ComboBox labeled Issue Code which looks up information in a table tblService Issue. I also have a ComboBox labeled Service Issue which also looks up information in the tblService Issue.
tblServiee Issue looks like this: Issue Code Service Issue 101 Laundry Install 201 Kitchen Install and so on
What I'm trying to do is when I enter issue code 101 in ComboBox Issue Code, I would like the Service Issue (Laundry Install) to automatically post in the ComboBox or TextBox labeled Service Issue. Is this possible?
Thank you in advance for any help you can give me! Larry D.
Here's a link to a post with background (see the relationships image at the top): [URL] .....
So I got everything to work exactly as I wanted it to.. the listbox has its rowsrc manually changed via VB on form open or record change... so everytime the record changes or the form opens, VB creates a query string that pulls the TFE_Num and TFE_Name from the DB for only those records where the forms current key (me.key.value) equals the TFE_key values. And everything works.
The problem is that this VB based query is very slow... so everytime the record changes, we wait 1-5 seconds for this listbox to pull data and display it. My question is this: Is there a better way to do this, some way that doesn't require VB based SQL statement. I'm asking because all the non-listbox controls on the form use a control source and they get updated instantaniously on form open or record move, but the list boxes that are unbound and are populated using VB SQL are really slow... and there are really only 1 or 2 records ever displayed in the list box.
I have tried to set the rowsource for the list box within the properties tab and comment out the VB SQL code, but haven't succeeded. I suspect the issue is that the form is linked to all fields in the master table while the list box is linked to a 1st and 2nd generation child table... I just can't get it to work! I've tried simple adding the TFE tables and fields to the forms record source poperties, but when I do that I can only navigate to records that have TFEs associated with them.
I suspect I could resolve the issue myself, if only access queries allowed "me.key.value" to be used in the WHERE statement. Am I correct that you cannot do this in Accesses query builder or the SQL version? When I tried, it worked but then I notices the me.key.value got converted to a number (the first record) when it ran the first time.
I have a form that has 3 combo boxes and a text box that I want to be a lookup. I have a little experience with DLookUp, but I do not think that will work here. The three combo boxes are linked to queries, and Tables. The first combo box is for choosing "Precious" or "Base" metals. The second combo box is filtered from the first and displays the "Metal Names". The third combo box is to choose a "Metal Market". There are currently four options for that. I want the text box to display the "Metal Market Price" based on the second and third combo box selections.
Here is a screenshot of the table with all of the metals and their market prices filled in with dummy values for now:
metals screenshot 1.PNG Metals screenshot 2.PNG
Here is a screenshot of the relevant Form: Metals form screenshot.PNG
Here is a screenshot of the Table that relates to the relevant form: Metals table design.PNG
Here is a screenshot of the Metal Market table that the Query is based on: Metal Market Table.PNG
I would like to create a combobox on a form in which a user has three selections: negative, positive, other.
If negative is chosen a textbox auto-populates with "none detected". If positive is chosen the text box populates with "positive" and If other is selected the text box populates with "unspecified".
I have a subform in datasheet view for tracking calls from clients. The Client Name is a combination of the first and last name. I want to create a text box that allows me to start typing in the client name and it will filter for only those Clients that match. Currently, I have the following code (below) for the textbox, however when I start typing in a client name all the clients disappear from the table. The client name is in a combo box so I don't know if that is making a difference.
Private Sub Text3_Change() Dim strFilter As String Me.Refresh
Got a bit stuck in a database. I have a form based on a query. On the form I have 4 comboboxes.
The combo boxes filter eachother without a problem (based on custom select query)
Now I want after the fourth combobox value is selected, I want to populate a text field with a value from a different column from the master query (after the 4 selections only 1 value should be possible)
Master query contains 5 columns: - group - type - job - insurance - charge
combo1 selects group (and filters records) combo2 selects type (from remaining records and filters again) combo3 selects job (from remaining records and filters again) combo4 selects insurance (from remaining records and filters again)
Combo4 is based on following query: -column1 Insurance Total=Group by Show=yes -column2 Job Total=Where show=no Criteria [forms]![name].[combo]
This works great and the dropbox only shows 1 OF EACH DIFFERENT record
If I add a text box and want to see the "charge" value, that I thought I could use the ME.text-code. But in order to do this, I have to add the charge column into the query of Combo4.
If I do this, the dropbox for insurance gives me multiple values that are the same. Is there any way to make this work?
I am designing a Web Database with a bound form to a submit table.
On the form, I have a combo box with selections that should influence the value to be displayed in a textbox also on same form.
For instance the combo box for Staff Name contains list of all Staff and I want the textbox to automatically display the level of the staff that was just selected in the combobox.
I know how to get this done using a combobox but my boss insists that the level should be automatically displayed in the textbox once combobox selection is done.
Using the combobox for level, I used the select statement in the RowSource property :
SELECT Staff_List.Level, Staff_List.Staff_Name FROM Staff_List WHERE (((Staff_List.Staff_Name)=[forms]![frmtest]![cboStaffName]));
I am in a dilemma of how to replicate this for the textbox because textbox only has control source and no RowSource where I can put this select statement.
Also, I will still need to bind this textbox to the submit table with the column name "TxtLevel" in the control source
Please see attached sample access db.
Also note that I cannot use action queries or VBA because it is a Web database and not a client database.
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 combobox on a form linked to a table. The format of the column in the table is Yes/No. The form which inputs into the table is also set to Yes/No.
However of the form below, even though the combobox is set to Yes/No, when you open the box it displays as -1 for yes and 0 for no.
-How can I address the fields on my forms? I just want to create a button that increases a value by one on click.I tried
FORMNAME.FIELDNAME = FORMNAME.FIELDNAME + 1 FIELDNAME = FIELDNAME + 1 FORMNAME!FIELDNAME = FORNAME!FIELDNAME + 1 but the button does nothing. And that is all I found by googling.
-How to focus a field at the beginning? I want to be able to start writing always in the same field.
FIELDNAME.SetFocus
does not work. I dont know if I made any mistake during creating tables and forms, but these codes should actually work, shouldnt they?
I have a textbox on a subform and I want to get the sum in a string as follows.
Code: Dim s1 As String s1 = Sum(Forms!CountItem!CountItemLastCount.Form!ThisCount) MsgBox s1
When I use the above I get an error message saying - Sub or function not defined and it highlights the sum part of the equation.
I have been using the sum criteria in a textbox but if the user doesn't tab of the box then it doesn't see it as being updated.
I have tried me.dirty and everything else that usually works like send keys tab event, requery form and controls, a left mouse click but nothing is working, therefore I thought that code to actually update the textbox may work.