Forms :: Using AfterUpdate On A Combo Box To Reset Another Field Value
Aug 20, 2014
I have a combo box, 'Type' that has two values - "Instrument" and "Equipment".Another combo box control, 'Criticality', has an Enabled = False value set OnCurrent.
When the user selects "Equipment", Criticality goes Enabled = True and when OnUpdate to "Instrument", Criticality goes Enabled = False.The Criticality field correctly displays and switches off if someone selects Instrument.
However, if someone puts a value in whilst Type is set to "Equipment" and then Type is reset to "Instrument" and in the meantime the user has selected a value for Criticality, the value stays 'stuck' in the Criticality box, despite the field being disabled. It is a bound field.How do I purge any contents stored in Criticality when the field is disabled? I presume it's something like an SQL statement to set the value to null, but I'm not quite certain.
I have a SQL Server 2005 backend table with a varchar(1) field which allows nulls. The field is populated from a combo box in Access 2012. The field can be set to 1,2 or 3 via the combo box or left blank in which case its value will be null. Sometimes I need to reset this field to null. How can I do this via a combo box? I know I could just set this to an empty string but this would mean re-writing a load of queries which a looking for a number or null.
Something like 1;"First";2;"Second";3;"Third";Null;"Blank"
Combo2 - Record selector that works, either shows a list of facilities or list of physicians. Macro SearchForRecord - Where Condition ="[fac_id] = " & Str(Nz([Screen].[ActiveControl].[Column](0),0))
Would like it to be
="[fac_id] = " & Str(Nz([Screen].[ActiveControl].[Column](0),0)) AND [referral_type] = Me!Combo2
On my unbound form I have a combo box with a record source type set to value list and the record source with two choices in it. I would like the combo box to reset back to either blank or a the phrase "select one" once a record is saved. If it shows "select one" I do not want the user to be able to actually select that. As I said the form is an unbound form and I have used the coding of "insert into" to save the new record to a table. I have been able to clear the text box on this form when the new record is save by resetting it's value to "" but have been unable to reset the combo box to blank.
how do I reset the combo box through code after a save to display nothing - or is there a way to add a non-selectable choice to the list and have it display when the form is refreshed.
In namefield_AfterUpdate, I check for duplicate name entries and notify the user if any are found - they are prompted as to whether the duplicate was accidental or intentional and continue working. This works fine for normal circumstances.
However, if the user updates namefield so that the value is a duplicate of an existing name in the database, but then presses Cancel (or Delete), then the namefield_AfterUpdate is fired and what button they pressed. The button Click code does not run first.
How can I tell if the user updated the name, but then realized they didn't want to save, and then clicked 'Cancel' (or any button) and the code should really skip the duplicate check validations/messages?
I'm doing a course on Access and I'm trying to populate a text box based on the value I select in a combo box.
Basically, in the combo box I want to select a drug (for pets, it's for a veterinary clinic...) and in the text box next to it I want the cost to pop up. The list of drugs with their costs are listed in a separate table, with the drug name in column 1 (counting from 0) and the cost in column 3. I then have a continous form so I'd like to be able to keep adding drugs and their costs and then sum up the drug costs in a text box with the total.
Benn looking through other posts and have found some things which look quite similar but nothing which answers the question simply enough for my standard!
Basically I have a form with 5 fields...Number, Name, Location, Date and Owner. All fields are locked apart from Location and Date. I have a combo box which lists the field "Number" and then displays the record's data. The aim of the form is to be able to update the Location field easily. A user entering the form would use the combo box to select say number "3243". This would bring up record number 3243. The date displayed would be the last updated date. Currently 23/08/05. I am trying desperately to get the Date to refresh to the current date as soon as someone changes the "Location" field. I have tried putting in the AfterUpdate part of Location...Me.Date.Requery.
I feel that I may be well off track but that the answer I require is not too difficult. Please could someone advise?!?!
TIA.
--Update-- Think I've sorted it now everyone!! My code looks like this, seems to do the trick.
Private Sub Combo15_AfterUpdate() Me.Date = Format(Now(), "dd/mm/yy") End Sub
I guess I should learn to try my hardest before posting here!! :)
I have a form with (among others) a Y/N field and a multivalued field. The Y/N field indicates whether or not the resident is year-round or not (seasonal/snowbird). The multivalued field contains the months the resident it here. The user wants me to auto-select all months in the multivalued vield when the year-round field is set to yes in order to minimize data entry.
I have been trying to use an AfterUpdate Event using the following syntaxes as a test but Access doesn't like the format at all:
[Master Table].[Months Available].[Value] = "June" (this gives 2465 error) Me ! [Months Available].[Value] = "June" (this gives a 424 error)
I'm not at all fluent with VBA but have been successful in populating form fields using data fields in another table so thought this would be similar.
Any way other than not to use multivalued fields? Because that isn't an option.
I have a form with a combox control that is bound to a table. It is a status field. When the status changes, I would like to take the OldValue of both the status combobox and the status date and move them to a table that when accessed will show a history of the prior status and corresponding dates.
So I have a bound form with the following onload code:
Code: 'Add the percent completed to lblPercentCompleted by calling the function Dim Completed As Double
[code]...
This works fine and set the caption and color of a label on this form.On this form I have several (now only a few, but in the end probably 40 controls or so) which will get updated by the user. When any of these controls are updated, I want the label lblpercentCompleted to get updated with the propper caption and color, however I am having trouble doing this.
I have an afterupdate event on each control with the same code as the onload code, however the message box below appears but the label does not update.
Code: Private Sub TransferDieCutsOn_AfterUpdate() MsgBox "Updating Label" 'Add the percent completed to lblPercentCompleted by calling the function Dim Completed As Double
In ACC2010: A subform has a control for date of birth with an AfterUpdate Event. When the date picker is used to populate the control the user must either click outside the control or press the tab key to trigger the control's AfterUpdate event. This event runs some calculations, the results of which are stored in a separate table. When the calculations are finished and focus returns to the form, the form's state depends on whether a keypress or a mouse click was used to trigger the event.
The form's state is indicated by whether calculated controls on the form are empty - mouse clicks leave contents as before the event, tab causes the contents to disappear. In addition, if a keypress is used the user must click twice to trigger the form's BeforeUpdate event. A single click is required to trigger that event if a mouse click occurred after using the date picker.
How to get thekeypress to behave the same as a mouse click?
The problem that I have is that when I add a new field to my form at runtime I get the following error Runtime Error '2424' The expression you entered has a field, control, or property that Microsoft Access can't find.
This error appears when I try to update any field. I posted this before and was informed that access has a field counter limit up to 750 on a form, this includes fields which were deleted or hidden. I dont deliberately add and remove fields, but this is the main form in my database so it is not unbelieveable that this may be at the limit and this is why the error is occurring. Does anyone know how to reset this?, or what I should do to get around this.
I have a form with 7 types of weights (7 textbox rows) showing 7 weights in kgs and the others in lbs.When the user update any weight-kgs textbox, the opposite weight-lbs textbox will be updated automatically, and viceversa.Now, I'd like a fast way to code this action without writing the After Update_event for every textbox (they're 14).I have already setup textbox tags differently with "WeightKGS" and "WeightLBS", thinking about using "for each ... next" statement, but I have some problems to resolve what I want.
I have a table which will be completely emptied and refilled. The table has a field autonumbered it is also the primary key. When the table is refilled I want this field to start from 1. How can I do that. Yes some people will say this subject has been discussed search for it. But here the issue is somewhat different we have an existing field and I do not want to compact the database each time the procedure runs.
I have a form based on a table with just sales quotes and dates. I am using the salesquote as a combo box to select corresponding records in a subform.
Code: Private Sub cboSalesquote_AfterUpdate() Me.Filter = "[salesquote]=" & cboSalesquote Me.FilterOn = True End Sub
Works fine. But not the mgr says his users get confused when they are making changes in the subform which record they are changing so they want when they select a record from the combo box and the records appear in the subform; they want the combo box to go blank. I am not sure how to do this because if I reset the combo box to go blank; the subform records will go blank as well.
I currently have a continuous form in my database that has 24 records in it. every record is blank except for a time (I will post a screenshot)
Our employees are instructed to enter various information every hour in this form. coding a button that, when clicked, will create 24 new records in the table that this form is based on, insert times in those 24 records, and then display those 24 records in the form. It would have the illusion that the end user it "resetting" the form at the end of his shift and preparing a clean form for the next person.
In the spreadsheet that we currently use, there is a button that, when pressed, saves the workbook with the date in its file name and then clears all of the end-user's data so that the next shift has a clean spreadsheet to use. I would like to mimic this button as closely as possible in MS Access
I understand that this database design is not exactly ideal in the world of database engineering; however, I was told to make this a perfectly seamless transition from the excel spreadsheet we currently use (there is a folder with 900+ workbooks from over the years. This obviously makes the information useless - we need all of the information in one file - this database)
I am creating a program to allows us to figure out where our personnel are. I am using a continuous Form that shows the individuals name, phone numbers etc. and infront of that is a checkbox, and a combobox that shows "Leave", "TDY", "Contacted" etc. I also have two fields that fill up with what time they were contacted or when they reported in. The default status is "Not Attempted and the checkbox is not checked, and the time fields are blank.
I attempted to use this code:
Dim ctl As Control For Each ctl In Me.Controls Select Case ctl.ControlType Case acCheckBox ctl.Value = False Case acComboBox ctl.Value = "Not Attempted" End Select Next ctl
but it will only clear the one line (it doesn't clear the times yet, i figure i'd add that once I figure out to clear one). This seems to work if this was a single form, but not for continuous. How can I convert this for continuous forms?
I have a login form that closes automatically after a specified time if you do not login with user name and password. It also keeps track of how many times you login and whatever value you set for a password reset it forces you to change when that value is met.
Problem: If you do not login within the allotted time even though a password change has been scheduled, my code resets the login count back to 0.
This is what i want to get around if I can. Either I have to pause the timer or stop the reset.
After you enter the password is when the login count is fired.
And also when it checks if a new password is required.
I have the below code to reset my subform after I have filtered it using some combo boxes. One of my fields in the underlying table had a calculated field so I'd get an error when clicking the reset button. I edited the query to update the 'type' field and deleted the calculated field in the table but now get another error. The exact error is 'Run-Time error '3327' Field 'Type' is based on an expression and cannot be edited.' It appears it will not reset my form and show all records as long as this field is based on an expression.
Code: Private Sub cmdReset_Click() 'Purpose: Clear all the search boxes in the Form Header, and show all records again. Dim ctl As Control 'Clear all the controls in the Form Header section. For Each ctl In Me.Section(acHeader).Controls Select Case ctl.ControlType
I have an unbound form with a combobox which needs to be validated before the control is updated.In the Before Update event I check that the value is valid and need to reset the value back to the previous value if not valid and then change focus to another control.I thought that the following code would work but the selected value remains in the control and I cannot move the focus to another control.
Code: Private Sub cboYears_BeforeUpdate(Cancel As Integer) Dim dteNewDate As Date dteNewDate = DateSerial(Val(Me.cboYears), Month(Me.txtCalendarHeading), 1)
I created a small database with a user login form, along with a password reset form. Running it in my sandbox as an accdr file, the password value resets just fine, but on my test machine with the Access 2010 runtime installed, the password reset form doesn't reset the password. I will try to describe the state of things as of this point.
1. The LoginF presents with a combo box for the user to choose their name, and a text box to enter their password. The code below is on the After Update of the password text box.
Code: Private Sub txtPassword_AfterUpdate() 'Check if user has been chosen If IsNull(Me.cboUser) Then MsgBox "Please Select User Initials", vbInformation, "Warning"
[Code] ....
2. The password reset form has two text boxes for the new password and to re-enter the same, as well as a command button with this code.
Code: Private Sub cmdResetPassword_Click() If Me.Password = Me.PasswordTest And Len(Me.Password) & "" > 0 Then DoCmd.RunCommand acCmdSaveRecord DoCmd.Close DoCmd.OpenForm "LoginF"
[Code] ....
As I say, this works as an accdr file, but not in the actual runtime environment.
I've been asked to take a look at a database to look for areas which could be improved. It's not a database I've built myself so I've started by taking a 'walk-through' of the system to see how it works.
What I did notice amongst other things which confused me a little was that, on a specific form, called 'Tenders Sub Form' (tenders stands for builders), there are two combo boxes, each of which is used to enter the same kind of data back to the 'Tenders' table.
I've uploaded a screenshot for you to see. As we work down the 'Tenders Sub Form', we're asked to enter the 'CustomerID', which is simply the ID for the Customer and you'll see from the Relationships I've also uploaded, that this is the Primary Key in the 'CustomersMain' table. This is also an AutoNumber data type. Further down just under 'QuoteID', there is another combo box, which asks for the 'CustomerName'. This is using all the same data as the first combo box, only the first combo box is bound to column 1, the CustomerID and the second combo box is bound to column 2, the Customer Name.
If we then look in the 'Tenders' table - we can see that it's storing the Customer ID and CustomerName is there own fields.
My question really is, would there be a more efficient way to store both the CustomerID and CustomerName in the Tenders table, without the need to use two combo boxes and effectively enter the same data twice.
I'm sure that this was set up with the purpose of being able to see the Customer Name in the table rather than just the Customer ID.
I've uploaded
Relationships Tenders Sub Form - to see how the combo boxes look Tenders Table Properties