On my form i have a control called WeekDate (this is always the start of the week (monday), below i have a subform (sbfrmWorksheetDetails) contained in a tab control (tabWeek) with 5 pages for each day of the week, i have written a select case statement in the onchange event for tabWeek which selects records based on the day of the week (so = WeekDate for Monday, +1 for Tuesday, +2 for Wednesday etc), this works great, i have also put a bit of code in the same onchange event that makes the default value for a new record for the field WorkDayDate in the subform +1 and +2 etc. this works great for existing records, each new line in the subform puts the right date in, however this seems to cock up when clicking on a new tab that doesn't have a record in..Here's the code.
Private Sub tabWeek_Change()
Select Case tabWeek
Case 0 'Monday
Forms!WeeklyWorksheet!sbfrmWorksheetDetails.Form.R ecordSource = "SELECT * FROM tblWorksheetDetails WHERE (((tblWorksheetDetails.WorkDayDate) = [Forms]![WeeklyWorksheet]![WorksheetDate]))"
Forms!WeeklyWorksheet!sbfrmWorksheetDetails.Form!W orkDayDate.DefaultValue = SQLDate(Me.WorksheetDate)
Case 1 'Tuesday
Same as above but WorksheetDate+ 1 for both select and default value.
Case 2 'Wednesday
Same but +2 etc.
End Select
End Sub
the SQLDate is some code that converts the american US date formatting to UK formatting. i'm not sure if that's the problem, but i'll post that anyway:
Function SQLDate(vDate As Variant) As String
If IsDate(vDate) Then
SQLDate = "#" & Format$(vDate, "dd/mm/yyyy") & "#"
End If
End Function
I can't quite work out what screwing this up upon adding a new record.
I have an Access 2010 form within my database in which I have a series of 8 tabs on a tab control. I am the only user who will have access to these tabs. I want to require a password in order to permit access to the tabs. The very first tab on the tab control works as a cover tab. There is no relevant information for anyone to view...only a graphic.
How to code the "on change" event of the tab control.
I am dynamically trying to set a control default value. I have the code below in the On Load event of the form. I get an error msg that says "Run-time error '2467': The expression you entered refers to an object that is closed or doesn't exist."
Is there a central reference on the net that explains the pro's and con's of each of the event types. I historically have used the OnChange event until the other day when someone suggested using the AfterUpdate instead.
Would like to ensure that I have the best event trigger being used where possible in various situations
I have a combobox which needs to call a function f(combobox.value) during its onChange event. Currently though, combobox.value appears not to change before the onChange event, and so the function receives the wrong (last) value.
Note - the actual text in the text field of the combobox *has* changed to the new value before the onChange event occurs.
Any ideas why this might be?
Edit - Also the problem doesn't happen when selecting with the mouse, only when using the up and down arrow keys to move through the list.
I'd like to call a function when a bound textbox is updated and for some reasons it doesn't seem to work. It works when the textbox is unbound (or maybe I missed something) Here is a very simplified version of the form: http://img207.imageshack.us/img207/3618/apf4ax.jpg
MyFunction() is just a MsgBox for now and I'd like it to appear when the textbox in the main form is updated (i.e. when the text in the subform is updated). I set .AfterUpdate= "=MyFunction()" and .OnChange="=MyFunction()" but nothing happens. (see attached code)
I use the events afterInsert of a Form frmA and the onChange of a field in the same form in order to make some changes to another Form frmB.
Everything goes as expected when the field (with the onChange event assigned) of an existing record changes. The problem starts when I add a new record which triggers both AfterInsert event (desired) and onChage event (undesired).
Is there a trick to separate the two events? Basically I want to call a Sub when the data on the field change (onChange) and a different Sub when I add a new record (AfterInsert).
I have a listbox on a subform (or a subform within a subform).
When it is clicked I want all other listboxes to unselect.
There may be listboxes on the mainform, on other subforms, on other subforms of subforms.
I imagine I'm looking at a recursive function of some sort, but I'm not entirely sure of syntax to identify parent and children forms...
pseudocode so far: loop all controls if control = listbox, unselect all if control = subform - recurse: loop all subform controls if control = parent... err... Fail.
In ContactIDForm it contain 1 textbox name 'TextBox' with Button Name 'Btn'
In ContactIDForm there is only 1 Text Box ContactIDTextBox and 1 Button. User Enters ID in TextBox and On Button Click Event it should check data from TextBox in Table name (ContactDetailTable) in field ContactID and if there is record matching, ContactInfoForm should Open else NewContactForm should open with ContactIDTextBox value in it.
Where can I find the Hex or RGB value for the blue colour that Access 2010 uses by default for buttons on forms? I need to change some buttons to yellow (I know the code for that) but later change them back to the previous shade of blue, which is shown in the Properties pane "Accent 1, Lighter 40%".
By clicking in the standard colors area at the bottom of the colour chooser I can find a very similar blue #D6DFEC but it doesn't look quite right. And the "accent" colour does not give me a Hex value.Is that "usual" blue even one colour? How can I reset a button to that style having changed it?
In the default property of a subform control I want to use a control of the main form without using names of forms, but using me and parent.
I used in default property of cboVATDetail: =Me.Parent!cboVAT, but it is not accepted. My aim is to use cboVAT of parent as default in cboVATDetail of child.
I have a main form that holds a tab control with a number of sub forms. One of these subforms has a pop up form for adding new records to it. After closing this pop up form I would like to initate code on the sub form where the new record now will appear. One of the things I like to do is simply to set focus to the record the user just added.
My problem is that I cannot seem to get any event to trigger in this setting (bben trying more or less all). If I understand things right the fact that I am using a pop up form and the fact that I am using a tab control both seem to interfer with the Activate event and making it passive.
How I can trigger code on the sub form (after closing the "Add New" pop up form)?
I am having some difficulty with the default value in a form.I would like it to be the value in the previous record. I have been using DLast, but for some reason it doesnt seem to work for some of my fields. For the field "Station" it works but for the field "Field Officer" it returns an error in the form.
I have a form with a number of text, date and combo boxes. We quite often add items that are very similar, so it would be useful if the values you've just entered were kept the same for the next item. Then you can just change the odd field that's different. Is there a way to achieve this?
I have an app that is browsing a survey. When the survey is in simple 'browse' mode, I want to be able to emulate the effect of a SkipResponse. (A SkipResponse is when selecting a particular value causes the normally sequential processing of survey questions to become non-linear. A sort of If Response = thisvalue then next question is something else) I can 'request' the SkipResponse by using Ctrl/Alt click, and then emulate returning from the target question by using Ctrl/Shift Click.
My problem is that I want to do the same thing (for a return) by allowing Ctrl/Shift on the Exit button. If I just use a regular mouseup evvent, it will complete, but will then go ahead and run the code for the Click event, to exit the survey. What I would like is to be able to cancel the processing of the Click event from within the handler of the MouseUp event.
I have a form which displays information in the footer until the use has accomplished some tasks. Once I verify that all is well I allow the user to change the fields in the footer. I want to verify that the proper changes were made but the BeforeUpdate event does not fire until the form is closed.
Relationships all work and reporting works. I now want to create a form for entering attendance into a single event as a batch. I only want to enter the event ID one time and then be able to enter participant ID's for all attendees. The event coordinator will have a tablet running the db at the door and each participant will use their ID card to be scanned into the event.
I don't want the coordinator to have to reselect the correct event between each participants scan but instead to enter the event once and have multiple participants ID's entered for the one event. The date field is defaulting to current date/time [Now()].
I have some code for the Key Down event for particular column in my subform
Private Sub Sample_ID_KeyDown(KeyCode As Integer, Shift As Integer) Sample_ID = Nz(DMax("Sample_ID", "Sample_Sheets")) + 1 mTo = Nz(DMax("mTo", "Sample_Sheets")) + 1 mFrom = Nz(DMax("mFrom", "Sample_Sheets")) End Sub
This works, however it also work when I press Key Up, changing what the key down previously did. I do not want it to do this. I have nothing entered in the Key up event for the form properties.
I have a form with a combo box that is populated by (1) a union query, and (2) a make table query from that union query. The reason I have both is because I want to have an autonumber and I can't do that directly in the first query.
So any time I update any of the tables that are in the union query, then go back to the form, i want the the combo box to update the list which means I have to run (1) and then (2) to repopulate the combo box with the updates.
i have 2 tables (clients, frequencies) where in table "clients" i have a column to store ID of "frequencies" table (id, description).
in my form "FClient" i display data stored in table "clients" and i have a combobox that should display the "frequencies" descriptions, but with a frequency selected by default...in fact the one that has its ID stored in table "clients". i'm able to display all frequencies descriptions but i don't know how to easily select and then display, as default, the frequency stored in table "client"
I have a 1 row table as a result of 2 queries that give me the 'MaxYear' AS 'DefaultYear' and 'MaxWeek' AS 'DefaultWeek' in that year for a selected retailer and stores, from a master table.I want the default Year and Default Week text boxes to display the values of these
I have tried pointing to a table holds the results and pointing to the queries for each box...I have used Form.Refresh and Forms.Requery but nothing picks up my values.