About the Solution

[Previous] [Next]

When I worked in the IT group at Microsoft, we were not initially required to keep track of the time we spent working on various projects. Then the IT group consolidated itself and became much more organized. Soon we were required to keep track of all our time, recording how many hours we spent working on each project daily. At the end of each week, I and the other developers spent a few minutes filling out and submitting our timesheets. The theory was that project managers and resource planners would use this data to more accurately plan future projects. The IT group would use the data to "charge back" other departments for the amount of time we had spent working on their projects.

The system we used was a custom Microsoft Windows application purchased by the IT group. Each developer had to install this client program on his or her computer, and when we periodically upgraded machines or reinstalled operating systems for debugging, we had to reinstall this application before submitting our timesheets. The application was rather large because it emulated much of the functionality found in a spreadsheet program—for example, recalculating, inserting and removing rows, editing in place, and so on. I have seen other timesheet systems implemented in Microsoft Excel, but these systems often must turn off Excel's entire user interface to make the program look and behave like a custom application.

Such universal, simple transactional and reporting systems are perfect candidates for web-based implementation. A web-based application requires no explicit setup and allows developers to easily control all aspects of the user interface. However, developers often want the rich interactivity that a product such as Excel or a custom-written application provides. Developers want to create a product that will automatically total the hours worked per day and per project, enabling the user to see his or her running total for the week. What developers need is a smaller, embeddable spreadsheet control, such as the Spreadsheet component.

In this chapter, I will describe how to build such a timesheet system. The Timesheet solution uses a Spreadsheet control for the entering of work hours, saves timesheets to a database on the web server, and uses the PivotTable component to analyze hours worked by employee, by date, and by project. The Timesheet solution focuses on how to use the spreadsheet as a data entry form and how to move data between the spreadsheet and a database. I will also briefly discuss how to track the use of this solution for logging purposes and how to view a usage report in the PivotTable control.

The Timesheet solution is similar to an expense reporting system, in which users fill out expense report templates (often implemented as Excel spreadsheets) and submit them for processing. The only additional feature required for an expense reporting system is the capability of being used off line. You will learn more about this in Chapter 10 when I discuss the Real-Time Stock Portfolio solution.



Programming Microsoft Office 2000 Web Components
Programming Microsoft Office 2000 Web Components (Microsoft Progamming Series)
ISBN: 073560794X
EAN: 2147483647
Year: 1999
Pages: 111
Authors: Dave Stearns

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net