Modules & VBA :: How To Check If A Subform Is Visible
Sep 25, 2013
I'm trying to check if a subform is visable. The following code is just test code so I can get a result. I keep getting an error on the .IsVisible section.
If datTimePlus15 <= datCurTime And [frmBarstockAreaSubForm].IsVisible Then
MsgBox datTimePlus15 & " " & datCurTime
datTimePlus15 = DateAdd("n", 1, Now)
End If
I have a Main Form with a Sub-Form, the sub-form is base off a query. on the sub-form i have 8 controls, one of them is "Status' and "Process" and "Review" My Main Form have a Refresh command that refreshes the data in the sub-form.
What i am trying to do is make the "Process" Control only visible is "Status" is a certain status and "Review" visible if "Status" is something else. what i have done works correctly On Open. I run into and issue on the refresh command. I get Run-time error '2165' "You can't hide a control that has the focus"
Code: If Forms!Main_Form.[Name subform]!Status = "Ready" Then Forms!Main_Form.[Name subform]!Process.Visible = True Forms!Main_Form.[Name subform]!Review.Visible = False ElseIf Forms!Main_Form.[Name subform]!Status = "Reviewing" Then Forms!Main_Form.[Name subform]!Review.Visible = True Forms!Main_Form.[Name subform]!Process.Visible = False End If
I have done similar with a main form and making sub-form visible or not based on a control on a main form and that has worked perfectly. I am not sure how the control is getting focus and cause the error.
I'm trying to get a check box to be visible/enabled on Tuesdays, Thursdays and Sundays. I've been dabbling with the code and 'DatePart' but with little effect. I've been trying other suggestions on other threads but am still struggling I'm afraid. All help much appreciated, and I'm fairly new to access and have a large work objective to cope with, see below for my poor effort so far
Private Sub Datapulse_Enter()
If Datapulse = DatePart("1", "3", "5") Then Datapulse.Visible = False Else Datapulse.Visible = True End If
I am having a mare trying to do something which I think should be quite simple, as follows.
In a table I have the field [Entitled]. On my form I have this as a yes/no check box.
I have the following code in the VB.
Private Sub Check112_AfterUpdate() If Me![Check112] = True Then Me![Entitled].Visible = True (or I could use) Me![Entitled].Enabled = True Else Me![Entitled].Visible = False (or I could use) Me![Entitled].Enabled = False End If End Sub
Some people have the field checked and others do not.
The problem is; when I check or uncheck the box on individual records shown on the form, the value is remebered when I scroll to the next record (i.e. the box may be unchecked but the field is still visible/enabled). It is doing my head in! Help Please.
On my switchboard form, I have a check box which the user can check to make a text box (which appears in several different reports) visible and uncheck to make it invisible. The text box in the reports has the same name on all of them.
I am having trouble making this work.
I can think of two solutions, but haven't had success with either yet.
1. I could simply change the visible property of the report(s) control from the form. This works if the report is open, but throws an error if the report is not open.
Code:Public Sub showNumOrgsInReportCB_AfterUpdate()If Me!showNumOrgsInReportCB.Value = 0 ThenReports![publishZipR]![numOrgsF].Visible = FalseElseReports![publishZipR]![numOrgsF].Visible = TrueEnd IfEnd Sub
Is there a property or function I can use to test whether the report is open before I set the text box visibility?
2. Alternatively, a less elegant solution would be to run an event procedure to close all open reports. This would eliminate that issue, but I haven't gotten the code to work yet:
Code:Public Sub showNumOrgsInReportCB_AfterUpdate() Dim rpt As Report ' Enumerate Reports collection.For Each rpt In ReportsDoCmd.Close rpt.nameNext rptEnd Sub
This line: DoCmd.Close rpt.name throws a Run-time Error '13', Type mismatch.
I have a form with a subform on it, if the user clicks a control on the subform I want to set the subforms visible property to = False.
I have tried Me!Subform.visible=False and Form!Subform.Visible=False but neither are working, I think i have to set focus back to the main form before I can set the visible property of the subform.
I have a form with a subform. I would like to make a field on the subform not visible if a field on the primary field is null. Can anyone help? Thanks.
I am trying to make a subform appear when a particular entry is selected from a list box. I did a test... no problem. In my real database... well, you know. Here's my code:
----
On my main form property:
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize DoCmd.GoToRecord , , acNewRec
If Me![ProjectSubType] = "Commercial Chest" Then Me![CommercialChestsSubForm].Visible = True Else Me![CommercialChestsSubForm].Visible = False End If
End Sub
---- On my list box property:
Private Sub ProjectSubType_AfterUpdate()
If Me![ProjectSubType] = "Commercial Chest" Then Me![CommercialChestsSubForm].Visible = True Else Me![CommercialChestsSubForm].Visible = False End If
When opening the main form I would like to create a macro that is able to set the property visible/not visible for a certain field if a certain condition on another field is satisfied. I Have Office 2010 and with the macro editor I'm not able to make it work. Need writing the text as in the macro editor?
Here below the example:
Main form name: FORM_1 Subform name: SUBFORM_2 Subform field: FIELD_ABC Subform field: FIELD_123 Subform field: FIELD_CHECK
Opening the form FORM_1, the macro must show the field FIELD_ABC and hide the field FIELD_123 only if FIELD_CHECK is equal to "TEXT OK" ...and the macro must hide the field FIELD_ABC and show the field FIELD_123 only if the field FIELD_CHECK is equal to "TEXT WRONG".
I have a form (frmMain) which contains 3 subforms and they are being set to visible at different stages of application run (depending on the options selected).
In subfrm_Main_options i have 3 buttons, clicking on 'Job Review' will make the subfrm_Search visible. In the subfrm_Search i have 2 labels, 'View Jobs' and 'View Report' and I only want the 'View Jobs' to be visible!
I have tried setting the visible property of this label to False in the subfrm_Main_Options but its giving me an error (saying the form subfrm_Search is closed or does not exist in the database!). I also tried using a Global Variable (ViewJobs - declared in module mdlPublicVars) and set it to True once the 'Job Review' is clicked in the subfrm_Main_Options form, and then look at this in subfrm_Search and then display the correct label. However after trying to put this code in various events such as, On Open, On Got Focous, On Activation, ... i didnt get the result i wanted!
Can any1 please help me out with this. I would be really grateful!
PS. The buttons appearing on the form are placed on the frmMain, I did that to see if it appears on the main form but they must be in subfrm_Search!
I need to have a subform that shows up smack dab in the middle of my main screen when visible - which is what I want - but only based on a specific value of a control on the main form. Specifically, if a control's value is "See Spreadsheet", I want the subform visible front and center as it contains the link to the server location for that specific record. If the control's value is not "See Spreadsheet", I want the form to be invisible.
My code:
If Me.BudgetsFacultyAccountNumber = "SEE SPREADSHEET" Then Me.frmMsgBoxUpdateSpreadsheet.Form.Visible = True Me.BudgetsFacultyServerLocation.Visible = True Else: Me.frmMsgBoxUpdateSpreadsheet.Form.Visible = False Me.BudgetsFacultyServerLocation.Visible = False End If
The red lines result in an MS VBA error: "Compile error: Method or data member not found."
I've tried referencing that subform a hundred different ways, but I can't get it to work.
I sent a post earlier today about making a label visible in a subform! I am still working on it but still no progress!
I have a different scenario (its the same thing but trying to explain the method i'm working on):
I have one main form (frmMain) that contains 3 subforms, say subfrm1, subfrm2 and subfrm3. On Open only 1 is visible and 2 and 3 are invisible (however they are open and loaded).
By choosing an option on 1 subfrm2 becomes available! When choosing an option on subfrm1 a boolean called 'XXX' is set to true. Now i want one particular label to become visible in subfrm2 if 'XXX' is true! To do this i need to write a code to be executed when subfrm2 is appears on screen! The problem is this form is already open so how and on which event of subfrm2 can i write the code???
At the moment i'm trying to refresh subfrm2 (by using code in subfrm1) and I have placed my code on the On Load event of subfrm2. I thought this way the form will reload and the On Loand event will pick up the new value for boolean XXX and set the label to visible! Thats the idea anyway... here is the code i have in subfrm1:
XXX = True
Forms![frmMain].subfrm2.Form.Refresh
subfrm1.Visible = False
subfrm2.Visible = True
I'm not sure if refreshing the subform will result in On Load event to be executed! And i'm not even sure that the code for refreshing subfrm2 is correct. Can any1 help me with this?
I have attached the actual database on my previous post sent today, if you prefer to look at the whole thing and get a feel of the problem!
I have a database that I use for keeping track of clients and printing invoices using a form/sub-form and report/sub-report. I want an image to be visible on my sub-report when I choose Received Payment in my sub-form. Right now I have my image set to visible = no.
I have a combobox on my form called TypeOfBusiness, with fields including Corporation, Education, Industry, Non-Profit. In order to make a second combobox called IndustryClassification appear when Industry is selected from the TypeOfBusiness combobox, I have used the following code:
Code: Private Sub Form_Current() If Me.TypeOfBusiness = "Industry" Then Me.IndustryClassification.Visible = True Else Me.IndustryClassification.Visible = False
[Code] .....
It works just fine. However, when a user selects both, say, Industry and Education, the IndustryClassification combobox will not appear. What code I can use to ensure the IndustryClassification box will appear regardless if another box is checked in addition to Industry? I am wondering if it has to do with the Column attribute.
With the macro running and Access not visible, how can I make the database visible if an error occurs in the macro? Currently, if an error occurs in the macro, a 'Msgbox' message is generated (by the database macro). But with Access not visible and Excel visible, the process cannot continue unless the user knows to click on the 'Microsoft Access' icon in the task bar to bring Access to foreground and acknowledge the 'Msgbox' message.
I'd like to activate the Access window from within the database macro.
How do I get VBA to say: Go to the first control in the tab index after the current active control (that is visible atm), except such and such controls (because they will lose visibility in a moment).
I have a query tool that allows users to create their own custom queries. Basically, it's a form that allows the user to check boxes for the fields they want to see. The code behind it simply hides the fields in the query for which the user has not checked the box. That works very well.
My problem is I would like to have a command button that will export the query to excel. The OutputTo and TransferSpreadsheet commands will just export the whole query into excel regardless of whether or not the field is checked. I'm looking for a way to only export the columns the user has checked. Is this possible, and if not is there a workaround that would do something similar?
I have a combo box with three columns, the first one is the bound one, the second is text in English, and the third is text in Spanish. Currently when the form is open, both the English and Spanish texts columns are visible. What I would like to do is set up a command button on a different form that will open the form with just the English showing in the combo boxes, and another button for Spanish. I've tried the following code which opens the form, but the combo box is disabled altogether.
I'm quite new to Acces (2010) . Currently, I'm working on a form in which certain fields are set to invisible. I'd like to toggle fields to visible based on the button clicked.
Example: Field 1: O No O Yes --> When No is clicked Field 2 (containing a date) becomes visible --> When Yes is clicked Field 3 and 4 (both yes/no fields) become visible
I'm working on a report. I have a text box that contains directory path for a picture which is showed in a image box on my report which works great. I have now created a label called "nopiclb" that has "no Pic "entered in it but I want to set the label to not visible if path1 has a file path in it but visible if path1 is empty
I put the code below in onformat event in the detail section, but is not working
Code: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) If IsNull(Me.path1) = True Or Me.path1 = "" Then Me.Nopiclb.Visible = True Else Me.Nopiclb.Visible = False End If End Sub
I have the code below and am trying to have a form allow Text Box to become visible based on selected items from a List box. Why I am getting the error listed?
Compile Error: Invalid Qualifier
Code: Private Sub specific_opt_Click() Dim users As Control Dim ctrler As String Dim xx As Long If Me.specific_opt = True Then GoTo 169
I am trying to make a label visible on a form during print if a field has "like a string". We use a form so that it prints 3 forms to one page (They are tags for units for repair). I can get the label to be visible in the form view but when I print, the label is visible on every record where it is only visible on the current record in form view. My goal is to have the label only show on those records where the condition is met.
Here is my code that works in form view only: (It is to designate easier a warranty tag from a new repair tag)
Code: If Me.Problem_Description Like "Warr*" Then Me.lbl_w.Visible = True Else Me.lbl_w.Visible = False End If
I have attached an image of a tag sheet Tag_Sheet_W.jpg. As you can see if I got my desired result only the first tag would have a W.
I have a form with four subforms set up in a tabs on the form. In the subforms I have a copuple of command buttons which enable/make visible fields when they are clicked (see previous posts but for eg) - if a height and a weight are added in two separate boxes a calculation is done and then a command button pressed to make visible the (label) which shows the mass index the patient falls into. My problem is that the label is then retained so if I click out of the form and re-enter with a new patient then the height and weight boxes are clear but the label from the previous patient remains.
I tried to put the code Private Sub Form_Load() If PtWeight = Null And PtHeight = Null And Text60 = Null Then Label106.Visible = False Label101.Visible = False Label177.Visible = False Label122.Visible = False Label123.Visible = False End If End Sub in both the open and on load event of the main form (not the subform) but it doesn't help. Any ideas?
(When should code be put on the main form and when on the subform?)
I am trying to improve my code by making it more readible. The following code works, but it is certainly not the most efficient way. I`m trying to write a loop to make certain elements in an Access report visible/invisible, but I can`t address the visibility property of these items while iterating over i.