I have the main form "MForm" with 2 subforms "subform1" and "subform2".
On subform1 i have 5 tabbed pages: Page1, Page2, Page3, Page4, Page5. Each tab will have a subfom included.
On Page1 i have a form "subform3".
My question is, how i can update a text box "txt_test" from subform3 from subform2?
I tried:
Forms!MForm!subform1.Form!subform2.Form!txt_test.Value
Forms!MForm!subform1!Tab.Pages("Page1").txt_test.Value
I am new to access and i can't find a way to access the data from other subforms.
Try this:
Forms!mform!subform2!txt_test.Value = Me.txt_test3.Value
txt_test3 is the textbox in subform3 (on Page 1 of subform1).
IF you put code into module of form subform3 then this code should change value of txt_test inside subform2:
Me.parent.subform2.form.controls("txt_test").Value = "some value"
Related
I'm quite new to VBA and I've been looking around but cannot seem to find a solution to my problem.
I have made a navigation form (frmNavigation) with 3 buttons, each referring to a different form, let's call them frm1, frm2 and frm3. In the navigationform the control buttons to switch between tabs are all named differently (btn1, btn2, btn3), but the subform that shows either frm1, frm2, or frm3 has the same name: “NavigationSubform” (this shows a different form depending on which tab is clicked on, based on the 'navagation target name' referring to frm1, frm2 and frm3).
When I want to refer to a textbox (txtBox1) on form 1 (first tab) and insert a value i can do this by:
Forms!frmNavigation!NavigationSubform.Form!txtBox1.Value = "insert awesome text"
But how would I refer to txtbox10 on the second tab (frm2)? Just using the following does not work:
Forms!frmNavigation!NavigationSubform.Form!txtBox10.Value
You then get the error 2465 (can't find the field).
I’ve been trying many different things, but can’t seem to get it right. So how do I refer to a textbox on a different tab than the first one?
Help us much appreciated!
Only one subform can be loaded at once. So you've just got to break this process into two steps.
Store the value from txtBox1 somewhere outside of the NavigationSubforms (a textbox on the parent form with visible = no, a global variable or a table works).
In frm2's On Load event, set txtbox10 to be the value you stored.
Just note, that you will need to add conditions in the On Load event if you want to avoid that textbox being set to an empty string or a wrong value if you have a setup where your filter is changing.
I realise this question has been asked before and I have tried numerous suggestions, but I guess I am just too much of a novice when it comes to VBA coding.
Here is my scenario:
I have an Access 2007 "Application" with a few forms. On the main form, I have 2 text boxes. For simplicity let's call them textbox1 and textbox2.
textbox1 is used to enter a style code. a button on the main form then opens another in modal/dialog mode and runs a query with the style code as the where clasue. the modal popup gives me a list box which is populated from the database based on the query that was passed. I then need to select one of the products in the list and upon closing the popup, populate textbox2 with the brand (column2 in the list from the popup) number.
Please remember that I am a novice. Any help would be greatly appreciated.
I would put a button on the second form, and in the _Click() function, put something like this
If ListBox1.ListIndex = -1 Then
MsgBox "Nothing Selected!"
Exit Sub
End If
UserForm1.TextBox1.Text = ListBox1.List(ListBox1.ListIndex)
Unload Me
Where ListBox1 is the list box containing the content you need the user to select from, where UserForm1 is the name of the calling form, and TextBox1 is the name.
Explanation
The ListIndex property of the list box returns the index of the selected list item. If nothing is selected, it returns a -1.
To reference an item on one from from another, you reference the form, the object and the property.
In The example I gave, the form is UserForm1, the object is TextBox1 and the Property is Text. While typing, intellisense should auto complete the object and properties once you type the period.
I have a contunuous form where editing is disabled. If you want to edit an entry you have to select the line in a table and click the button "Edit".
The problem is when the form loads it's allways the first line of the table that is selected by default and if you click the "Edit" button a from will open with values from the first line of the main form.
What I want is the cursor to be set to nowhere when the form opens and if you click the "edit" button a message box would appear saying that no record is selected. How can this be done?
Put a header on the form, and put a textbox in the header that has the form's name or something. In the Load event of the form, set the focus to the textbox in the header. Something like:
Me!txtMyTextBox.SetFocus
That should get the focus off your continuous form.
My problem is:
Main form has 9 command buttons and continuous subform. Click on some button open other form with text box for entering quantity and two command buttons. When click on the first button I want to use caption of pressed button from main form for query. How to get that button caption?
Thanks.
You have just clicked the button, you know the name of the control, so I do not quite see the problem, other than that it all sounds like quite a bad idea.
Private Sub cmdClickMe_Click()
Debug.Print Me.cmdClickMe.Caption
Debug.Print Screen.ActiveControl.Caption
End Sub
So I have a form, with a subform control that acts as a navigation scheme for my Main Form. Within the sub form, there is a sub form2 that actually contains the controls for data entry.
So the Main Form is almost just like a design shell around the sub2 within sub1 structure. So in subform1 there is 10 clickable buttons that open 10 different forms in the subform2 window. The subform2 contains the controls.....so here is my issue/question:
So if I have a click event on the subform2 where i am trying to open the next form (subform2 form) within the subform1 child control, which is within the Main Form, what is the vb syntax for handling this?
I am not sure if i am asking this correctly.
I tried:
Forms!SubForm1.MyChild.sourceobject = "NextSubForm2"
but this only works if the Main Form is not open....like if I only had the SubForm1 open.
One more thing, this is code behind the form of the SubForm2 (2 being the sub within the sub within the form).
The main form from a subform's point of view is:
Me.Parent
You can build on this:
Me.Parent.Subform1ControlName.Form.AControl
See also: http://www.mvps.org/access/forms/frm0031.htm
So:
Me.Parent.Subform1ControlName.SourceObject = "SomeForm"