Solved

Access 2007 Form Table Update

Posted on 2014-03-20
21
476 Views
Last Modified: 2014-03-21
I am creating a form in my Access 2007 DB that will have a Admin menu. On the admin menu I will have macro buttons that will delete and update tables.

How do I create a way to automatically show on the admin menu when a table was updated.

I would perfer a text beside the button showing the date last updated but if it needs to be in a log somewhere in the DB thats ok to.
0
Comment
Question by:CMILLER
  • 10
  • 9
  • 2
21 Comments
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
add a date field to the table, and update it when you press the button you use to update.
see http://office.microsoft.com/en-ca/access-help/store-the-date-and-time-when-a-record-is-modified-HA010241284.aspx
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
Comment Utility
Unless you are already storing a date field (Last_Modified is what I generally use to keep track of when records are updated), then adding a date field for every record may be a bit redundant.  

Another method would be to create a table that is used solely for that purpose; for keeping track of when you last clicked on one of those Delete/Update buttons.  Add an update SQL statement that updates the date field in that table for the appropriate table when ever the user clicks on one of those buttons.

Then it would simply be a matter of using a DLOOKUP against that table when the Admin form loads.  You could make the DLOOKUP( ) function the ControlSource for a textbox which is locked or disabled.
0
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
If he is already updating n rows he may as well update the date field at the same time (same SQL)
0
 

Author Comment

by:CMILLER
Comment Utility
by: fyed (Dale Fye)

I like your suggestion but not sure what to type for the update SQL statement?
0
 
LVL 7

Accepted Solution

by:
COACHMAN99 earned 500 total points
Comment Utility
edit your existing update query - add
, set timestamp = Now() after the other fields that are updated

assuming 'timestamp' is your new field
0
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
sorry Dale, maybe I missed a point.
CMiller
Is the intent to keep track of last 'batch' update, or last time each record is updated?
0
 

Author Comment

by:CMILLER
Comment Utility
I use a macro "TransferSpreadSheet" to update my tables
0
 

Author Comment

by:CMILLER
Comment Utility
Batch update
0
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
Then Dale's plan is best: and (if you are not using SQL) extend you macro to update the new field in the new table.
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
Comment Utility
@coachman99,

You had a valid point, thus my first sentence.  If the table already had a Date/Time column your suggestion would have made lots of sense.

I have several applications where I do bulk updates like this.  I generally store the name of the file uploaded, the date it was uploaded, and have an ID column associated with each upload, all stored in tbl_Uploads.

When I write the data being uploaded to its final destination, I also write the ID value associated with the upload to the table that the data is going in to allow me to quickly reverse an upload if the client realizes there was an error or wants to re-upload the file after making changes.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:CMILLER
Comment Utility
@fyed (Dale Fye)

How do I add it to my import module? I created a new tbl_Update to store the timestamp date.

DoCmd.TransferSpreadsheet acImport, 9, "TableName", strFile, True, "SheetName!"
0
 

Author Comment

by:CMILLER
Comment Utility
@fyed (Dale Fye)

Is it possible to to add  , set timestamp = Now() into my ipmort module?

Over all still not sure how to add the timestamp into the DB
0
 
LVL 7

Assisted Solution

by:COACHMAN99
COACHMAN99 earned 500 total points
Comment Utility
DoCmd.RunSQL "UPDATE tbl??? SET timestamp  = Now()"

add docmd.setwarnings = false before above line if you don't wish to be prompted

you may also wish to add a 'key' column that stores the button/macro name you ran (if you have multiple) and extend the sql to

DoCmd.RunSQL "UPDATE tbl??? SET timestamp  = Now() WHERE key??? = 'macroname'"
0
 

Author Comment

by:CMILLER
Comment Utility
I am getting an error at:

DoCmd.RunSQL "UPDATE tbl_Uploads SET timestamp = Now()"
0
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
what is the error?
try
UPDATE Table1 SET Table1.[timestamp] = Now();
0
 

Author Comment

by:CMILLER
Comment Utility
I fixed the error but its not updating the timestamp field in the tbl_Uploads table

DoCmd.RunSQL "UPDATE tbl_Uploads SET tbl_Uploads.timestamp = Now()"
0
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
what is the error?
is timestamp defined as date/time?
0
 

Author Comment

by:CMILLER
Comment Utility
I dont get an error now when I run it due to changing the syntax to the following.

DoCmd.RunSQL "UPDATE tbl_Uploads SET tbl_Uploads.timestamp = Now()"

I checked and timestamp is defined as date/time, format is short date.

When I run it I get a popup stating that "0" rows will be updated.

**********************************************************************************

I just manually picked a date for the timestamp field, now when I run it, it updates the timestamp field.
0
 
LVL 7

Expert Comment

by:COACHMAN99
Comment Utility
so are we good?
0
 

Author Comment

by:CMILLER
Comment Utility
I believe so, let me check something first. Thanks!
0
 

Author Comment

by:CMILLER
Comment Utility
Its all good!

Thanks, guys!!
0

Featured Post

Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

Join & Write a Comment

Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now