log every action

shutzy

Registered User.
Local time
Today, 20:25
Joined
Sep 14, 2011
Messages
775
i would like to log every action any member does on my database.

i will have a log in screen(passworded) and i would like to record every button clicked. the only thing is i would like to include other things in the record aswell. like record changes.

is there a neat little trick to do this or is it just going to be very labour intensive.

thanks
 
I am also curious why. What will you do with the information? As jdraw pointed out, the solution at Allen's website will work for logging data changes but you're on your own with logging clicks, etc. You'll need code in all the events you want to trap and you can pass identifying information to a common sub that actually creates the log records.
 
the main reason is to log record changes above all. but also logging general activity. what the staff spend their time doing. are they doing their job as efficiently as possible. its a beauty salon. we have clients and they visit regulary. upon each visit we expect the staff to know if the client has not purchased an item for sometime and to suggest buying another. just things like that really. so we can help then earn me money.

thanks
 
Knowing what returning customers have purchased and when is a long long way from recording every click, every change....

If you record purchases (products and services) for every customer you should have the data to do some purchase analysis.
 
yes i have the data. but i want to know if the staff are using it. for example. i have a client in today that bout an item 4 months ago. the item should only last 3 months if used everyday correctly so the staff should be checking the client record card to see what products and treatments where purchased and when. i dont really want to stand over their shoulder making sure they are doing it. i would like to run a report of the audit log and hopefully see that they are looking at the record card. not neccesarily making changes to the data but just looking.

i get the feeling that this is going to mean that i will have to put some vba behind every button on click event to record the action.
 
yes i have the data. but i want to know if the staff are using it. for example. i have a client in today that bout an item 4 months ago. the item should only last 3 months if used everyday correctly so the staff should be checking the client record card to see what products and treatments where purchased and when. i dont really want to stand over their shoulder making sure they are doing it. i would like to run a report of the audit log and hopefully see that they are looking at the record card. not neccesarily making changes to the data but just looking.

i get the feeling that this is going to mean that i will have to put some vba behind every button on click event to record the action.

Indeed this will be a lot of code behind every button and event, the old saying of "Access don't know what you don't tell it" comes to mind.

It would be nice if there were some type of table and/or event level tracking, but alas no such feature is built-in to Access.
 
Your approach to check up on customers to see if they need more "supplies" seems a good approach. The way you have described it seems a little too much.
I get the feeling you're treating it more like a pharmacy -- you bought 36 pills on the 15th of last month, you should be doen to your last 2 pills, I think you should buy more----.
For a hair salon, couldn't the customer get supplies from a different source? Do they really use the daily estimated amount of X every day?

You might start out with storing purchases and quantities, and using that as a base for a question or two in casual conversation with customers. I could see talking to staff and advising them of the info available and how it might be used to suggest questions/conversation with clients. But I wouldn't suggest recording every activity on every screen.

Seems much like the old 80-20 -- for 20% of the effort, you can get 80% of the info you want.

Do you records daily transactions in your database? Do you do daily balances? And weekly/monthly trends?

Just some ideas before you get too deep into programming every control, every even, every scree....

What do you really need to make and keep your business viable?

Are you better at running a salon or vba coding? You may want to think about where you should put your effort.

Good luck with whatever you decide.
 
If you want to be proactive, then use the information you are storing from previous visits to prompt the clerk to upsell at checkout.
"I see you last purchased our special shampoo 3 months ago. Do you need more today?"

Or rather than prompting, you can pop up a form that shows several items. Clicking on an item in the popup should add it to the current sale.

I don't think trying to trap keystrokes will do anything to get where you want to go and will be very time intensive on your part.
 
I would say that I am better at running a business. But I was new to that years ago. The thing is Taft we have been down the path of buying salon software. And the result is we are building our own. We have spent 1000's on software and still it does not suit completely. You have to continually pay for support(for the programmers errors) bugs etc. with vba if I can't do it or the information is thin on this forum then I do outsource it. The diary for example. I was asking for months but nobody either understood what I meant or couldn't do it. So I paid some one to do it.

My database is more about ideas for what my business needs and I see if I can get the info displayed, stored etc. that is where the two cross over.
 
First, understand that capturing all the button clicks is going to be a lot of code to consider. Second, it isn't the simplest code you ever wanted to write. Third, you will be able to generalize this only so much before you have to jump hip deep in the swamp.

The way I approached this was that before I designed the forms in my DB, I analyzed what common elements were involved in the basic record operations. I had several business entities that could be manually added or removed by appropriate parties. They could update things, commit transactions (or cancel them), etc. So I built some common forms with all of the buttons for things like COMMIT, CANCEL, CREATE, REMOVE, and several other functions. I built generic button-click code under the generic forms. Then I cloned the forms and started customization of each one. I also generalized the forms to show things like logged-in name, user role, etc. Then when I needed a new form, I already had one partly customized so that I wasn't starting from zero each time I needed a form.

I also had to write some generalized routines to visit every control on a form and, for those controls that had user-managed data, I had to look at the control .VALUE and .OLDVALUE for comparison - if the control was dirty. But that of course depended on whether the control was BOUND or not. It was necessary but it was also still a lot of work.

In summary, if you are going to want to do this, you have to think about the kinds of actions you want to track and the ones you don't care to track. For instance, I decided after running the code for a while that I didn't care if someone hit CANCEL rather than COMMIT. (COMMIT actions, I tracked; CANCEL actions, I discarded silently.) The Old Programmer's rule says that Access can't tell you anything you didn't tell it first. If you want to track button clicks, you have to design parts of the code to do the tracking up front, because trying to retrofit that kind of thing will be a nightmare.

There is another down side to all of this. You need to consider who is going to do the data reduction. If it is you, do you have your reduction formulas all designed yet? Keep that part in mind, too.
 
thanks for all of your suggestions and opinions. we have a system at the moment that we paid for. their is an audit part to it. but it only records when records are changed or made etc. there have only been a couple of occasions when i wish i knew if x button was clicked but it was still needed. so i guess the
Seems much like the old 80-20 -- for 20% of the effort, you can get 80% of the info you want.

really does come into play. for those few occasions is it really worth it.

with regard to me wanting to run my salon lika a pharmacy. in some instance it is true. we are a beauty salon and it is very much different to hair. some people wash their hair every day and other every other day. there is no written rule on this, however with beauty products there is.

for instance. nailiques nail protein. if it aint used properly as per the instructions then it wont work. ok there are different sizes of nail meaning different quantities are being used but if it hasnt been used within 4 months then they are not using is correctly. also to the point of 'can they buy it from somewhere elese'. of course they can, but if we dont remind them how are we to know. i believe that this is the best customer service(putting the client first) my profit comes second. treat the customer right and the profit will follow.

thank you once again. ill come back with my descision.
 

Users who are viewing this thread

Back
Top Bottom