I am one of the guys that the dept. drops 1k to send to the beginner through expert level courses for Access, so I ask patience as I am new to VB coding.
I am working on a database to track patient surgical information. I am using a toggle button to control "patient surgery site" visibility, depending on the number of sites associated with them. They are labeled Site A Site B, Site C
What I want is if a patient only has one site, I press the appropriate toggle (Site_A_Button, Site_C_Button, and Site_C_Button) and only fields pertaining to Site A appear. If they have 2 sites, I can press both of the toggles for A and B, but the C will remain hidden, etc.
Each toggle controls 3 fields -
For the Site A button - Site_A, Diagnosis_A, A_Blocks_Check
For the Site B button - Site_B, Diagnosis_B, B_Blocks_Check
For the Site C button - Site_C, Diagnosis_C, C_Blocks_Check
The *_Blocks_Check also controls visibility for a respective fourth field - Site_A_Blocks , Site_B_Blocks , Site_C_Blocks
So far, I have A and B working just fine. By default, the toggle for A is set to -1 so it is visible by default. Site B and C are default 0. Both A and B work exactly as I want them to, however, site C does NOT. It has identical coding as B, however, it is visible by default (despite the "default 0") and the Site_C_Blocks visibility (controlled by the Check Box) also does not work properly. Here is the VB-
Private Sub A_Blocks_Check_Click()
If A_Blocks_Check = 0 Then
Site_A_Blocks.Visible = False
End If
If A_Blocks_Check = -1 Then
Site_A_Blocks.Visible = True
End If
End Sub
Private Sub B_Blocks_Check_Click()
If B_Blocks_Check = 0 Then
Site_B_Blocks.Visible = False
End If
If B_Blocks_Check = -1 Then
Site_B_Blocks.Visible = True
End If
End Sub
Private Sub C_Blocks_Check_Click()
If C_Blocks_Check = 0 Then
Site_C_Blocks.Visible = False
End If
If C_Blocks_Check = -1 Then
Site_C_Blocks.Visible = True
End If
End Sub
Private Sub Site_A_Button_Click()
If Site_A_Button = -1 Then
Site_A.Visible = True
End If
If Site_A_Button = -1 Then
Diagnosis_A.Visible = True
End If
If Site_A_Button = -1 Then
A_Blocks_Check.Visible = True
End If
If Site_A_Button = 0 Then
Site_A.Visible = False
End If
If Site_A_Button = 0 Then
Diagnosis_A.Visible = False
End If
If Site_A_Button = 0 Then
A_Blocks_Check.Visible = False
End If
End Sub
Private Sub Site_B_Button_Click()
If Site_B_Button = 0 Then
Site_B.Visible = False
End If
If Site_B_Button = 0 Then
Diagnosis_B.Visible = False
End If
If Site_B_Button = 0 Then
B_Blocks_Check.Visible = False
End If
If Site_B_Button = -1 Then
Site_B.Visible = True
End If
If Site_B_Button = -1 Then
Diagnosis_B.Visible = True
End If
If Site_B_Button = -1 Then
B_Blocks_Check.Visible = True
End If
End Sub
Private Sub Site_C_Button_Click()
If Site_C_Button = 0 Then
Site_C.Visible = False
End If
If Site_C_Button = 0 Then
Diagnosis_C.Visible = False
End If
If Site_C_Button = 0 Then
C_Blocks_Check.Visible = False
End If
If Site_C_Button = -1 Then
Site_C.Visible = True
End If
If Site_C_Button = -1 Then
Diagnosis_C.Visible = True
End If
If Site_C_Button = -1 Then
C_Blocks_Check.Visible = True
End If
End Sub
Now I know this is probably sloppy coding, but it was the only way I could get this to work properly at all, so feel free to critique as well.
I want to actually add additional sites (Site D and Site E), but not until I can figure out why the problem is with just A B and C.
I apologize if this seems a bit confusing, but if anyone could help out, I would be most appreciative!
I have form with a number of of combo boxes that filter a query that populates a list box. It's used to track inventory. I want to add a toggle button that when press will filter my query so that it shows only items with a value > 0 in the quantity field. And when not pressed it won't filter by that field at all.
I have a music database in which I keep track of my CDs and how many times I've listened to them. I have a report that uses grouping to show me the total listens for each artist for each year - the totals are in a group footer, with nothing in the detail section of the report. It looks something like this:
The first line is the column header showing years (last 2 digits for space reasons).
The second and subsequent lines are created in the group footer section, first is the artist name, then the Sum of listens for all titles by that artist in the year given ([Sum of Listens1994]).
This report works perfectly.
Here's what I want to do, and I can't get it to work:
In the above lines of data, let's say that the earliest title for BAND1 is from 1975, and the earliest title for BAND2 is from 2001. My yearly counts start in 1994. Therefore, there were listens for BAND1 prior to 1994, but there weren't any listens for BAND2 prior to 2001.
GOAL: Instead of showing "00" on the BAND2 line for years 1994-2000, I want them blank.
I've put a conditional format code in OnFormat for the group footer section, telling Access to turn visibility off for the text box control ([Sum of Listens1994] etc) if the [Earliest] field (which contains 2001) is greater than the year being displayed (1994 first, and so on). This, which seems like it should work, makes no difference. Oddly, if I put a F9 code break on the If statement, it never breaks, which makes me believe the code is never even being executed.
I do have prior experience with controlling field visibility in forms and reports, so the concepts aren't new to me. I feel like the big difference with this one is that it's in the group footer section rather than the detail section. [Access 2013]
Hi all, I have a form with two subform on it and two toggle buttons. Clicking each toggle button will open one of subform, and clicking it again will close that subform. But the problem is that I need to click the toogle button two time to open the sub form. So, what is the problem??
This is the code under On Click event: Private Sub Toggle0_Click() If Me.TendComm_Label.Visible = False Then Me.TendComm_Label.Visible = True Me.TendComm.Visible = True Else Me.TendComm_Label.Visible = False Me.TendComm.Visible = False End If End Sub
Private Sub Toggle1_Click() If Me.AuthorizedSignature_Label.Visible = False Then Me.AuthorizedSignature_Label.Visible = True Me.AuthorizedSignature.Visible = True Else Me.AuthorizedSignature_Label.Visible = False Me.AuthorizedSignature.Visible = False End If End Sub
how do these work syntactically? there's no wizard for them.
i want to create a button that displays a picture, then when you click it, it shrinks the form and changes the button picture, and when it is clicked again, the form goes back to the original size and picture. thanks
Hi, I'm very new to programming and i have very little knowledge about it. My problem is probably more simple than I may think, but for some reason I haven't been able to find a solution for it.
In MS Office, I'm making a form with a few toggle buttons which are linked to Yes/No fields on a seperate table. What I would like to do with the buttons is in their default state, which is "No", I want for the word "No" to appear on the top of the button. When the button is pressed, I need for the button to display the word "Yes". I know that it's possible to set the caption on the button to "No". Is there a way to have the caption change to display "Yes" with the press of the same button it's on? If so how? Also to have the fields reset to default with a new page on the form. Please explain it to me as if I'm a 5 year old trying to learn programming.
Hi, I would like to have a toggle button on my form that when clicked it changes the button colour and the button text. The toggle button doesnt have to be bound.
Is there a way to show the toggle buttons in an option group as NOT selected when the form first loads up? I've cleared all the default value properties in the table and the form but it always loads as showing one of the buttons pressed/selected. I want the form to load and both buttons in the group look the same.
I am making a specialty form where it must toggle on or off when the user clicks on a boxed area. Since toggle backgrounds cannot be set to transparent, I need to do it some other way. I thought of either using a button to control a hidden checkbox, or just writing code altogether. The problem is that I don't know what code to use to programmatically change the state each time the box is clicked.
I have a contact list db that displays in datasheet view on startup. I also have an alternate form that displays in datasheet mode that i want to be able to toggle to with a click of a button. I would like the button to appear at the top of the default datasheet form, that will allow a user to toggle to the alternate form when they need to.
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.
I have a form with about 10 subforms on it, all of which have queries as source objects. All of these queries are based off the same table which contains a field for Customer. What I would like to do is have a toggle button on this form that, once pressed, essentially adds a "not like" criteria to each of these subforms' queries EXNot Like "Customer_A"). When depressed, the queries/subforms should exist as is.
My first issue is that when I add a toggle button, the control wizard does not start. It starts up fine for any other control, however. For example, I imagine that on the After Update event of the toggle button I would requery each of the subforms, but I'm not sure how to add the "not like" criteria to each of the underlying queries.
I have a form that contains a combo box, I used the access wizard to make this combo box select a record from a table of customers and display that record on the form.
The user then has the option to print that record.
This works fine.
I now want to be able use the same combo box but with a different table so I can select Records from a list of suppliers.
Is there a way I could use a toggle button to change the rowsource of the combo box and then use that same combo box to select records from my supplier table.
I have a form that I use to filter a sub-form. In the form I have 4 toggle buttons that filter the corresponding fields in the sub-form quite well. What I would like to have is when one toggle is selected, the user can select a second or third toggle to further refine their inquiry. I am attaching the code that I used for the individual filters.
Code:
Private Sub Toggle_Filter_DOB_Click() If Me.Toggle_Filter_DOB = True Then [Forms]![Phase 2]![FormPhase2_sub].Form.Filter = "DOB = #" & Me.ATS_DOB & "#" [Forms]![Phase 2]![FormPhase2_sub].Form.FilterOn = True Me.Toggle_Filter_DOB.Caption = "Filter On"
This is just an example and it is not exactly what my database looks like however it allows me to explain easier.
tblOrders and tblPurchaseOrders are related One-to-Many ( tblOrders.[ID]->tblPurchaseOrders.[AssignedID]).
Anyways, I have a listbox on my primary form that lists tblOrders by ID, Date, Consignee and OrderComplete. When I first built the form and I bound the listbox to column 0 ([ID]) and created the event on double-click which the code looked like this:
Code: Private Sub listOrders_DblClick(Cancel As Integer) Dim stDocName As String Dim stLinkCriteria As String Dim intLinkID As String intLinkID = Me.tblOrders.Value stLinkCriteria = "[ID] = " & intLinkID Debug.Print stLinkCriteria stDocName = "frmManageOrders" DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command23_Click: Exit Sub End Sub
Now, for whatever reason - either something I've changed or a bug somewhere... when I double-click the list item, it opens as a new record rather than the corresponding record. I noticed that the "Toggle Filter" button on the access ribbon was ticked so I unchecked it and it immediately switched to the proper record. Why does this happen and what (if common) changes can make this appear or work this way? I am a novice with Access and I am still learning VBA. I struggle with not knowing parameters by heart, although the syntax seems to be similar to other languages I've worked with.
I had somehow enabled "Data Entry" which is located on the Property Sheet of a Form under the "Data" tab. Apparently this mode removes your ability to actually filter values properly and is intended for what you'd assume it means - Data Entry.
I have a form with data fields and a list box, data is coming from a query. When I add a toggle button to apply a filter to the data on the form, the data in the fields are filtered, but the list box still shows all the data items. How do I use a toggle button or something on the form that when activated it filters the data in the list box and the list box only shows the filtered content.
I have a form that opens with a filter on depending on what the user is supposed to see. When I deploy this, I don't want them to see the "toggle filter" button at the top. I tried making a custom ribbon like this:
But it didn't seem to have any effect. When I applied it, it didn't even create "A Custom Tab". That might be because I have disabled everything that I could disable on the "Current database" options, I'm not sure.
I'm having trouble with syntax for using VBA on a report in Access 2007. I need to some hide 3 text boxes if one of my fields is empty in a table. The table name is: 'ALM-RESP' with rows grouped by: 'TAG NAME' and the field I'm checking is: 'Rev 002 Author'. I've tried having a rectangle to cover it up but I'm having trouble using the IsNull command and setting the visibility of the rectangle. Here's my code:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) If IsNull([ALRM-RESP]![TAG NAME]![Rev 002 Author].Value) Then REV2BOX.Visible = False End Sub
Basically I'm having trouble checking if the field is empty and then setting the visibility.
I have a form containing client demographics. One of the fields is the DateOfBirth. I would like to control the visibility of a subform based on this DateOfBirth field.
I have tried using the code below:
Private Sub Form_Current() If DateOfBirth > 11 / 11 / 1994 Then subEligibility.Visible = False End Sub
This works when the form is opened for the first record, but the visibility does not change as I scroll through the rest of the records.
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
This should be fairly easy - I'm probably thinking too hard today.
I want to display a Quantity text control (and the related label in the form header) when the Serial control = "Bulk" OR when the checkbox chkBulk = -1 (checked). I don't need to do both, just one of the above, as I still haven't decided the easiest way to approach this problem.
I need some way to check the value of the checkbox or Serial control in the AfterUpdate event, and set the visibility of the Quantity control to true/visible. It is currently set to not visible. I have experimented a bit with the iif in VB, but my VB skills are rather nonexistent - i can read and comprehend code, but I can't yet write it on my own.
This seems like a relatively easy one or two line procedure. Can anyone offer some advice or point me in the right direction?
I have a main form that I want users to populate before I reveal a sub-form. I've changed the 'visible' property to 'no' on the subform so it doesn't show by default but can't make it re-appear when I want it to.
I've tried the forms!whereform.visible=true code and it tells me it can't find the form 'whereform'.
I have table that I had to add a new field to which we update with a form. I tried to add a control for the new field but the field does not show up in the list for the control source. I am trying to add a list box to the form with a blank and 5 options.
I have attached screen shots of the table design and the form. The table has the field in datasheet view and I have manually entered a few entries in it but it still will not show in the control source for the form control. The top section of the form is where we enter and select the data for the new records. The bottom section (circled in red) autofills the matching record, from separate tables, for updating with the new entries.
I have added form controls for modified fields in the past so I am confused about why this is happening.
I'm have a query with some fields but only one record. The values in the record depends on comboboxes in a form.
What the query is doing, is that is calculating percentage. So the problem is if you go from zero to something bigger than zero, then this this gives you an infinite value of percentage. I solved that by if it is a zero, then it's changed to null. Then the percentage will be zero.
What I want, or wonder, is if the value is zero, is it possible to to have a textbox or something "lightened up" in a form? What I mean is that if you do your choices in the comboboxes and this gives you a "bad zero" in the query then a text pops up and tells you that "the values are a little bit wrong" or something like that=)
More "shortly" said, can a texts visibility in a form depend on the value in a query?