Forms :: Timestamp Record When Field In Subform Updated
Jun 16, 2014
I have a form and a subform based off a query, I am trying to run a SQL update statement from one of the fields in my subform. I know what fields in my table i want to update but the Where part of the statement is what i am having a issue with.
DoCmd.RunSQL "UPDATE [Daily Work] SET [Daily Work].QC_Start_Date = Date(),
[Daily Work].QC_Start_Time = Time() WHERE ((([Daily Work].CUS)=[Forms]![QC_Queue_Qry Subform]![CUS])
AND (([Daily Work].LN)=[Forms]![QC_Queue_Qry Subform]![LN]) AND (([Daily Work].Note_Date)=[Forms]!
[QC_Queue_Qry subform]![Note_Date])))"
What this is trying to do is once the the field is updated i want to set the date and time of that record in my table, basically I am trying to time stamp the record when the field in my subform in updated.
I have created tables to capture information from a form (see attachment for relationship diagram).
I have created a form with a subform based directly on the tables. Entering data in the main form works fine but when I try to add a record on the subform I receive the error: "Field cannot be updated". Clearly I have made a mistake creating the table relationships.
I have a form based on a mysql table. There is a button in the footer to add a new record.
The pertinent vba code: DoCmd.GoToRecord , , acNewRec
It adds the new record and properly places the cursor in the first field. Immediately after the first letter is typed, the error message "Field cannot be updated" pops up. I can click ok and the message goes away and I am able to continue filling in the fields. The same thing happens if I add the record by use of the record selectors.
I have a ticket database where tickets are added to access with no priority scores on them. Over time, meetings and discussions, those tickets are given scores through a form on my database. What I would like to do is somehow add a timestamp that shows exactly when a ticket went from being unscored, to having a priority score assigned to it. Note, before the ticket is scored; the Priority Score field is still blank. Null?
An idea I had was to somehow put a timestamp on the "Priority Score" field in my form that will only timestamp when that field goes from being blank to when it gets a number for the first time. It will not change the timestamp when that number is changed down the road. (We edit the priority scores, but I only want to know when the ticket was actually scored for the first time. This is for reporting purposes, how many new tickets we score each month, etc)
Could I do something along the lines of assigning code to the BeforeUpdate value of my Priority field on the form? Although I'm assuming this would put up a timestamp any time the field is altered afterwords also.
I have a simple data entry form on which there are about 30 to 40 data fields to be update by users. One of the field is called "Stage" which is a combo box with 2 entries "Formal Case" and "Informal Case" with no default value whien a form is first opened.
Users will normally create a data entry which updates the table and save.
However if in future users open any one existing record and try to change Stage field from Informal to Formal or vice a versa I would then like this action to
1) update a time stamp concatinated with the stage change value in a text field perhaps
2) save/close the form
3) open a new form with all the existing entries(plus changed status of "Stage Field") with a new record ID and new time stamp.
Parent form/table, with a subform (separate table, 1:M link on "ID") The parent form data stays fairly constant (occasional change/update), with multiple entries in the subform for each parent record which are added to more frequently The master table has a field "last interaction" which I need to update whenever a new entry is made in the subform/subtable It updates fine when I change an entry in the parent table/form, but not when I add a new subentry for that parent
I'm running into an issue with my forms. I have a form that contains a subform, that contains a list of projects. This list is read-only. To update a record, you can double click on it, which opens another form filtered on this record, and which contains the fields in the first form as well as some others.
I have a command button on that last form to "Save and close", which fires up a macro that saves the record and closes the window.
Now, the issue that I'm having is that, when the window closes and I'm once again in front of the first form with the list of projects, the values of the record I changed are not updated and when I click on another record, Access tells me there's a conflict in the values and asks me if I want to keep the changes, discard them or copy to the clipboard.
It seems to consider the old values from the first form as a change, and thus asks me which to keep between these, and the actual (proper) changes I made in the dedicated form.
For the proper changes to be applied, I need to select "Drop changes".
I tried to requery the first form, also undo the changes to it after closing the window, but none of that worked.
I'm actually basing this on one of the templates, which does exactly what I want and which obviously works...
I have created a form with two subforms within it.
The TOP subform enables the user to view a specific record (not change it)
The BOTTOM subform enables users to view a datasheet form of all the records and amend them where necessary.
I want the TOP subform to automatically go to the last updated record, meaning that if the user changes the data of a record in the BOTTOM subform it will automatically display the last record on TOP that was updated in the table.
I've looked at the macros available and it only allows me to 'GoToRecord' to either Last, Previous, New etc... Is there any way to go to 'Last modified in the table'??
I have created a user form that contains check boxes for various fields, and on this form, when the box is checked, I get a prompt that the field cannot be updated. I have several other forms that use these same yes/no fields, and I am not having the same problem on these forms. I checked the property sheet row source for the form and I don't see anything wrong with the select statement (that I know of).
I have an Access 2007 database. I have added in a LastUpdated field into my form, which will update when the record is altered. After searching around I was able to find this VBA:
Private Sub Form_BeforeUpdate(Cancel As Integer) Me![LastUpdated].Value = Now() End Sub
This VBA works, however my problem is that when I try and switch records, using a combo box (which I made from the combo box wizard selecting the "Find a record on my form based on the value I selected in my combo box") I get Run-Time error 2448.
I have a form with a subform for tracking the stocks trading. I use the subform to enter new transactions. This was working fine until I have made some modifications in the design, which started giving me the trouble. Whenever I try to input any transactions by selecting a combo box in the subform, it takes me to the first record, even before completing my entries. I tried my best to solve it. But not successful. I am attaching a sample file for reference.
I have a main form with several tabs. One of the tabs is a subform with just one number control, driven by a select query. The control shows a number, and you can type in a new number, which then updates the field in the table.
BUT, the control then shows a zero, it has moved to a blank record. If you enter a number again, it will attempt to write it to a new record.
So how do I display the number, and allow a new number to be entered that will update the SAME record, and not moved to a new record?
I have two unbound unlinked subforms residing on a 3rd unbound main form. When I enter the current record on Subform1 I would like the matching record(s) on Subform2 to be highlighted or otherwise formatted. I can get this to work for only the first record on subform2 due to the way I have my code setup on Subform1:
Code: Private Sub Accounting_Unit_Enter() 'find where AUs match. only works for first Subform2 record If Me.[Accounting Unit] = Forms!MainForm.[Subform2]!AccountingUnit Then msgbox "Match" End If End Sub
My thought was that I needed to reference the Recordset of Subform2 and search for all AccountingUnits that match the current AccountingUnit of Subform1,
i want to be able to create an On Click Event when pushing a command button that will run an Update query to update a record and after it has been updated that specific record will pop up on a Form and be displayed. i know a different way is to run the Update query and then have it displayed in a Select query but i want it to be displayed on a Form instead. is it possible?
I have subform which uses a SQL statement as the record source. One of the criteria (ie. Part of the WHERE condition) is a column value from a ListBox on the MainForm.
Two problems exist: 1. When the MainForm opens, I get a "Enter Parameter Value" window, asking me to input the value it should be getting from the ListBox. (I suppose this is fair enough, as the ListBox hasn't been created/populated yet!) 2. When the ListBox is there, when I click on a row, I still get the "Enter Parameter Value" window! -I'm using a Requery on the Subform's control on the MainForm when the row is clicked. -A MsgBox within the OnClick event, is giving me the value that the SQL statement should be using! But the Subform doesn't seem to want to 'see' this value.
This one is driving me NUTS! I have a form with a combobox, a few textboxes, and a sub-form. On Load the form is populated with a sql command/rcSet.Fields() results. The user then chooses a status from the combobox to narrow down the results. The combobox OnChange event looks like this... sDate = Forms("frm-MENU").txtS_Date.Value eDate = Forms("frm-MENU").txtE_Date.Value xJob = Forms("frm-HD/DVR_CC").lstJob.Value
On Error GoTo hd_dvrErr 'this gets the top of the HD/DVR form sSQL = "SELECT Count(*) AS Total, Sum(IIf([pmt_meth] In ('C','E'),0,1)) AS Error, Sum(IIf([pmt_meth]='C',1,0)) AS [Credit Card], Sum(IIf([pmt_meth]='E',1,0)) AS EFT " & _ "FROM [tbl_HD/DVR_CreditCard(*)] " & _ "WHERE ((([tbl_HD/DVR_CreditCard(*)].CDATE) Between #" & sDate & "# And #" & eDate & "#) AND (([tbl_HD/DVR_CreditCard(*)].JOB_TYPE) Like '" & xJob & "*'));"
Set db = CurrentDb() Set rcSet = db.OpenRecordset(sSQL)
With Forms("frm-HD/DVR_CC") .txtTotal.Value = rcSet.Fields(0) .txtError.Value = rcSet.Fields(1) .txtCC.Value = rcSet.Fields(2) .txtEFT.Value = rcSet.Fields(3) End With
'this gets the bottom or subform of the HD/DVR form sSQL = "SELECT IIf([Agent]='UNKNOWN','xxxxx',[REP]) AS [Agent ID], [tbl_HD/DVR_CreditCard(*)].Agent, [tbl_HD/DVR_CreditCard(*)].JOB_TYPE, Count(*) AS Total, Sum(IIf([pmt_meth] In ('C','E'),0,1)) AS Error, Sum(IIf([pmt_meth]='C',1,0)) AS [Credit Card], Sum(IIf([pmt_meth]='E',1,0)) AS EFT, Sum(IIf([pmt_meth] In ('C','E'),0,1))/Count(*) AS [Error Rate] " & _ "FROM [tbl_HD/DVR_CreditCard(*)] " & _ "WHERE ((([tbl_HD/DVR_CreditCard(*)].CDATE) Between #" & sDate & "# And #" & eDate & "#)) " & _ "GROUP BY IIf([Agent]='UNKNOWN','xxxxx',[REP]), [tbl_HD/DVR_CreditCard(*)].Agent, [tbl_HD/DVR_CreditCard(*)].JOB_TYPE " & _ "HAVING ((([tbl_HD/DVR_CreditCard(*)].JOB_TYPE) Like '" & xJob & "*')); "
Set qdTemp = db.QueryDefs("qry_HD/DVR") qdTemp.SQL = sSQL qdTemp.Close
If Not Forms("frm-HD/DVR_CC").FormFooter.Visible Then Forms("frm-HD/DVR_CC").FormFooter.Visible = True Else 'DoCmd.Close acForm, "frm-HD/DVR_CC(Footer)", acSaveNo End If DoCmd.OpenForm ("frm-HD/DVR_CC(Footer)"), acNormal, , , , acHidden Forms("frm-HD/DVR_CC(Footer)").Recalc Forms("frm-HD/DVR_CC").Refresh Forms("frm-HD/DVR_CC(Footer)").Refresh ' DoCmd.MoveSize Height:=Forms("frm-HD/DVR_CC(Footer)").WindowHeight + Forms("frm-HD/DVR_CC(Footer)").FormFooter.Height
I have used similar code on another form and everytime the search criteria changes the sub form updates to reflect such. I know I am missing something small; can somebody please point it out?:D I need to have the subform show the updated (choice from combo) criteria.
If this seems to cloudy, please let me know and I will try and revise
I would like to have a time stamp for each record showing the creation time/date of the record. When following the description: [URL] ....
the outcome is, that each record shows the creation time/date of the record created before, which is not exactly what I want.I know this can be handled on form level (in the AfterInsert event), but I think it would be more elegant on table level. (Because obviously it has to be done in every form if there are multiple forms for the same table, and I it wouldn't work if somebody bypassed the form)
The Timestamp Field I have is formatted like this: 11/4/2014 5:56:46 AM. The field name is [Timestamp] it is in a table named INPUT_RedSheets_Plates. I have a query right now that pulls in certain fields from this table based on criteria of the [Type] field Like This:
I have two subforms on a main form. Both use similar queries and nearly the same set of records and PK. The first subform is for data entry and the 2nd subform is a continuous form that lists the entries in order that are made from the 1st Subform. (for entering in vacation days and appointments)
The continuous form cannot be edited, it is to be a list for viewing the information only.
I have an edit button next to each record on the continuous form. When the button is clicked, I want it to take the 1st subform to that specific record as well (same PK), so the information can be edited there.
I cannot figure out how to get the 1st subform to go to the record on the continuous form when the button next to that record is clicked on the continuous form.
I tried the DoCmdSearch for record and just keep getting object is not open errors.
I have a database which has a main form and subform built in linked by parent/child customerid, what i would like to do is search all the subform records from the whole DB and return its parent record on the main form?
Can this be done? because if i use find it will only search the filtered form i have onload of the form?
I am looking to add a field to my table with a timestamp for each new entry.
I am working with a split database. All of the records are inputted by forms (in the back end by other users). I want to be able to see the exact time that a record was added, but without having to add this field to the actual form. I just want to be able to have a field in the table that shows me when the user submitted an entry. Is there a way to add an automatic timestamp field to the table?
I have a form called frm002_PAF_MonitoringMAIN and on this form I have a subform called frm002_PAF_Monitoring. The subform has a button to another form for contact details called Contact_Details. The Contact_Details form opens with the details of the person who I have selected on frm002_PAF_Monitoring. There are some fields on frm002_PAF_Monitoring that I would like to be populated on Contact_Details when opened, like FirstName and LastName. How can I do it?I have tried on afterupdate event on Contact_Details below but those don't work:
I have two sub forms on a main form.Subform 1 displays information which comes from a query, filtered using two combo boxes on the same form.The active record on the data sheet has two field values output to hidden text boxes on the form.
These text boxes then provide the values used for the query displayed on the 2nd sub form.When I highlight a new record in subform 1, the text box values change, but the values in sub form 2 do no.Which would be the best method to use to get this to requery?