hatman
Well-known Member
- Joined
- Apr 8, 2005
- Messages
- 2,664
I inheritted admin of a lab-wide scheduling system that involves read-write activities performed by local instances of Excel on various client machines against a central Access database stored on a network drive. Ideally, this should have been done on a server, with a server side manipulation of the database, but instead, the previous developer chose to do everything client-side.
The crux of my problem is that in order to avoid pulling all records in the database, what they decided to do was to timetag each data write using the Now function of the local client machine. Then each client performs a periodic data pull, the query is based on timetags that numerically occur AFTER the previous data pull. It sounds like a great way to save resources, however, this method does NOT take into account the variation in the clock settings of each client machine. Users are complaining about "lost" data. In fact, teh data is moving to teh database, but depending upon the clock synch between clients, data can actually be written AFTER a data pull, but numerically have a timetag prior... which means that data is not retrieved in teh next data pull.
OOPS
I have considered several cludges, short of going to a server architecture (which I don;t know if I will be allowed to do) but in each case, before I start coding, I come up with huge conceptual hole that is no better than what is currently in place. So before I start trying to re-invent this wheel, does anyone have some clever solution that will fix this problem? I'll entertain anything, though I admit I have already considered, critiqued, and eventually dismissed at least a half-dozen of my own ideas.
The crux of my problem is that in order to avoid pulling all records in the database, what they decided to do was to timetag each data write using the Now function of the local client machine. Then each client performs a periodic data pull, the query is based on timetags that numerically occur AFTER the previous data pull. It sounds like a great way to save resources, however, this method does NOT take into account the variation in the clock settings of each client machine. Users are complaining about "lost" data. In fact, teh data is moving to teh database, but depending upon the clock synch between clients, data can actually be written AFTER a data pull, but numerically have a timetag prior... which means that data is not retrieved in teh next data pull.
OOPS
I have considered several cludges, short of going to a server architecture (which I don;t know if I will be allowed to do) but in each case, before I start coding, I come up with huge conceptual hole that is no better than what is currently in place. So before I start trying to re-invent this wheel, does anyone have some clever solution that will fix this problem? I'll entertain anything, though I admit I have already considered, critiqued, and eventually dismissed at least a half-dozen of my own ideas.