Help creating Time Tracking spreadsheet in Numbers

I need to create a spreadsheet to calculate time spent on each of my tasks at work.
Can you help me?
WHat formulas would I need to use to calculate the time between the start time and finish time? and what would I need to put into the start and finish time columns to make that end total time calculation work?
I have been looking for a template but I just can't find one.
I love the running log in the standard templates that comes with Numbers it has graphs and totals ata glance, I would love to create somethign like this for time spent on each of my tasks.
Can you point me in the direction of tutorials or ghelp me?

Here's one possibility:
Columns C and D extract the TIMEVALUE of the Date and Time value in column B, placing the value in column C if the employee has arrived prior to or at the time shown in C1 or in column D if the arrival time is later than the time in C1.
Formulas:
C2, filled down: =IFERROR(IF(TIMEVALUE(B)>TIMEVALUE($C$1),0,TIMEVALUE(B)),"")
D2, filled down: =IFERROR(IF(TIMEVALUE(B)>TIMEVALUE($C$1),TIMEVALUE(B),0),"")
The IFERROR envelope is used to produce the 'empty' cells where no time has been entered in column B.
The chart is a Stacked Bar Chart. Upper and lower limits for the Y axis were set using values calculated for the arrival times entered for January 9 (10:00 AM, 60 minutes late) and January 10 (8:30 AM, 30 minutes early).
The number of steps was set to 6 to give horizontal grid lines at 15 minute intervals.
Labels on the Y axis are in a Text box, and mark 15 minute intervals. Adjust line spacing to match these to the grid lines.
The line at OT (on time) has been added as a shape, pasted to the document and moved into the correct location.
Regards,
Barry

Similar Messages

  • Creating a time tracking graph in Numbers

    I need to make a chart of an employee's time into work.  I tried inputting time format but didn't graph/chart it.
    How do I do this AND show the expected arrival time (they've been coming in late).
    Thanks

    Here's one possibility:
    Columns C and D extract the TIMEVALUE of the Date and Time value in column B, placing the value in column C if the employee has arrived prior to or at the time shown in C1 or in column D if the arrival time is later than the time in C1.
    Formulas:
    C2, filled down: =IFERROR(IF(TIMEVALUE(B)>TIMEVALUE($C$1),0,TIMEVALUE(B)),"")
    D2, filled down: =IFERROR(IF(TIMEVALUE(B)>TIMEVALUE($C$1),TIMEVALUE(B),0),"")
    The IFERROR envelope is used to produce the 'empty' cells where no time has been entered in column B.
    The chart is a Stacked Bar Chart. Upper and lower limits for the Y axis were set using values calculated for the arrival times entered for January 9 (10:00 AM, 60 minutes late) and January 10 (8:30 AM, 30 minutes early).
    The number of steps was set to 6 to give horizontal grid lines at 15 minute intervals.
    Labels on the Y axis are in a Text box, and mark 15 minute intervals. Adjust line spacing to match these to the grid lines.
    The line at OT (on time) has been added as a shape, pasted to the document and moved into the correct location.
    Regards,
    Barry

  • Help Creating a Sine Wave in Numbers '09?

    Hi,
    I'm having trouble graphing some data in Numbers, having been used to Excel for most of my life. What I've basically got to do is graph a sine wave representing the annual variation described in the graph (it compares CO2 concentration measured at a chain of islands to time in years). I've figured out easily how to graph the data on a polynomial treadline curve, but now I've got this to do.
    The instructions say to make a new column in column D and enter in the equation 1.435x-2501.1, which is derived from the linear fit treadline equation I had calculated earlier. After that I am to copy it down to match the number of cells in column A (626), which I did, so now every cell in D down to 626 contains that equation above. Then, I enter 1 in cell E1 and 1/12 in order to arbitrarily guess at the sine wave amplitude and period, respectively, and finally I then select cell D1 and put in this equation:
    =1.435*A2-2501.1+($E$1*SIN(A2/$F$1))
    After that I grab cell D2, drag it down to select all the cells in column D, and add it to the graph by (I think) dragging it onto the graph, as Numbers says to do. What I'm uncertain of is where to go from here. Here are the instructions:
    'To plot the model values on the chart, double click or right click on the chart and select "Select Data" and click on Add under Series. Name the series "Model" and select data in column A for the X values and data in column D for the Y values. Rename Series 1 "Raw Data" and click OK."
    That's all stuff you can do in Excel... I don't know how to do it in Numbers. When I drag D into the graph, it works fine, but when I go to add in column A for X and D for Y in Inspector it won't let me type anything. How do I complete this sine wave?
    Thank you very much in advance for reading through this and helping me.

    theleonhearted wrote:
    The instructions say to make a new column in column D and enter in the equation 1.435x-2501.1, which is derived from the linear fit treadline equation I had calculated earlier. After that I am to copy it down to match the number of cells in column A (626), which I did, so now every cell in D down to 626 contains that equation above.
    I'm not sure of the reason for this step.
    1.435x-2501.1
    Entered into D2, with the x value in A2 is expressed as:
    =1.435*A-2501.1
    which is part of the formula below.
    Then, I enter 1 in cell E1 and 1/12 in order to arbitrarily guess at the sine wave amplitude and period, respectively, and finally I then select cell D1 and put in this equation:
    =1.435*A2-2501.1+($E$1*SIN(A2/$F$1))
    I'm assuming "1/12" goes in F1.
    I've also assumed row 1 is a Header row, and have entered your formula into the first data row (D2)
    Your formula is now:
    (1.435 times the value A) - 2501.1 + 1 * (Sin( the value in A divided by 0.833...))
    or
    (1.435 times the value A) - 2501.1 + 1 * (Sin( the value in A multiplied by 12))
    You haven't given any specifics regarding the raw data, so I've arbitrarily set it to a positive linear slope by making A =ROW()-1.
    After that I grab cell D2, drag it down to select all the cells in column D, and add it to the graph by (I think) dragging it onto the graph, as Numbers says to do. What I'm uncertain of is where to go from here. Here are the instructions:
    'To plot the model values on the chart, double click or right click on the chart and select "Select Data" and click on Add under Series. Name the series "Model" and select data in column A for the X values and data in column D for the Y values. Rename Series 1 "Raw Data" and click OK."
    These may be instructions for Excel. Using Numbers, a simpler way to place thie data into an X-y Scatter plot is this:
    Set the data up to occupy the full columns A and D, not including the Header row mentioned above.
    Select Column A: Click on any cell to make the table active show the row and column Reference tabs.
    Click on column A's reference tab.
    Command-clickon column D's reference tab to add it to the selection.
    Click the Chart button in the tools and choose the Scatter chart icon from the menu.
    If I've read this correctly, your formula imposes a sine wave onto the set of data.
    Here are the results. The expanded chart at the right shows the approximately the area bounded by the light blue rectangle at the upper end of the plot in the larger chart.
    Regards,
    Barry

  • Help creating time worked field on time sheet.

    I am new to acrobat. I am creating a time sheet submittable form. I have start time fields and end time fields and now i need a field that  calculates total time worked in hours. I could do this using military time except that in the calculations tab in field properties there is no subtraction calculaton option, just addition. Is there anyway to acomplish this by writing a script? I know nothing abiut writing scripts, PLEASE HELP.

    You need to use JavaScript to write the custom JavaScript Code. You can convert the time string to a JS data object and do the math at milliseconds.
    You can split the time string into hours and minutes, convert the hours to minutes and add to the minutes, do the math in minutes and finally convert the minutes back into hours and minutes.
    Since you will be repeating the math for each day, I would look at creating a function to convert the time string cell to minutes for the computation.
    There can be problems with leading zeros and no separator symbols since the Number format strips the leading zeros from number character strings.
    function Time2Min(cTime){
    var min = 0
    var hr = 0
    cTime = cTime.toLowerCase();
    // civilian time
    if (/(\d{0,2})[:](\d{2})[ ]?([ap])/.test(cTime)) {
       hr =  Number(RegExp.$1);
       if (RegExp.$3 == "p") {
          hr += 12;
       min = (60 * hr) + Number(RegExp.$2);
       } // end civilian time
    // 24 hour time
    if (/(\d{0,2})[:](\d{2})/.test(cTime)) {
       min = (60 * Number(RegExp.$1)) + Number(RegExp.$2);
       } // end 24hour time
    // military time
    if (/(\d{0,2})(\d{2})/.test(cTime)) {
       min = (60 * Number(RegExp.$1)) + Number(RegExp.$2);
       } // end military time
    return min;
    } // end function
    function Min2HH:MM (nMinutes) {
    return util.printf("%,1 01.0f" + ":" + "%,1 02.0f", Math.floor(nMinutes / 60), Math.floor(nMinutes % 60));
    var elapsed = 0;
    var sEnd = "1600"; // change for field value as string
    var sStart = "0900" // change for field value as string
    // add loop to go through fields:
    if (sEnd != "" & sStart !="") {
    elapsed += (Time2Min(sEnd)  - Time2Min(sStart)) ;
    // end of loop
    // format the output
    Min2HH:MM(elapsed);

  • Budget spreadsheet in Numbers, adding budget category

    I'm trying to create a budget spreadsheet in Numbers (working in iCloud) and can't seem to add a Category. Am I stuck with the pre-set categories they offer or can I add new ones?

    select the cells you want to format using the accounting style, then open the cell formatter:
    Select the data format as "Currency", then choose the "Accounting Style"

  • I cannot open my spreadsheet on Numbers. Please help me!!

    I have been using app. Numbers with my ipad2. I worked several pages on one of spreadsheets in Numbers. 2hours after that I cannot open that spreadsheet. Other spreadsheets are working fine. But only that spreadsheet!!!  It says cannot be open. Why? I did reboot several times, however It did not work at all.     What to do?  please help me.

    Do you get an error message when you try to install? If so, what does it say? (Precise text, please.)

  • I have created a spreadsheet on numbers for ipad with a list of customers as a drop down menu. How can i make their address appear underneath when i select the customer?

    I have created a spreadsheet on numbers for ipad with a list of customers as a drop down menu. How can i make their address appear underneath when I select the customer?
    iselect the customer?

    Hi bazza,
    We won't be able to put the address from a formula into the same cell that you enter the customer's name. We can put the address in the cell under the customers name.
    First let's take James advice and concatenate the address in the address table.
    Here is the formula in G2
    =CONCATENATE(B2&"
    ",C2&"
    ",D2&"
    ",E2)
    It shows this way because after I clicked on B2 and typed [&"] (no brackets) I typed option-return
    This gives you your new line. Then I typed the closing ". I repeated this for the rest of the address.
    Next we want to bring this to your order sheet. I prefer using the two formulas OFFSET and MATCH instead of VLOOKUP.
    base tells OFFSETwhere to start counting from. Click A1.
    row-offset is for the row. we will use MATCH() -1 to give us the row.
    What MATCH does is give you the row number where something is found and you can specify an exact match. I usually construct the MATCH formula first and then cut and paste it into OFFSET. MATCH looks like this: MATCH(A2,Table 1::A,0). A2 is what we are looking for, Table 1A::A is where we are looking (the entire column A), and 0 means we want an exact match. Can you see it inside the OFFSET formula? Notice that we had to subtract 1 from its result.
    column-offset tells OFFSET which column A=0 so we want 6.
    we ignore "rows", "colomns" we don't need them.
    If this seems like too much, just break it down into small pieces.
    quinn

  • I am new to iWorks and would like to change the view on my spreadsheet in Numbers to landscape.  I can't find where to do that.  I am even able to do that? Please help!

    I am new to iWorks and would like to change the view on my spreadsheet in Numbers to landscape.  I can't find where to do that.  I am even able to do that? Please help!

    you can change the page orientation by selecting the menu item "File > Print..." then adjust the orientation in "Page Orientation" section, then click "Done" (or "Print", if you want to print).

  • Hi, I would like to create a database from my numbers spreadsheet and create reports (like SQL). Is there a way?

    Hi, I would like to create a database from my numbers spreadsheet and create reports (like SQL). Is there a way?

    Numbers is a lightweight spreadsheet.  If you know sql you will know that it can handle many queries and is a real databases that can handle many thousands of records.  Number is not the correct tool.  You can make something that does something like a query but it is not truly a query.
    Can you share anything about the specific application and how much information there is in each record?  How many records (rows)?

  • Help, Multiple Time Capsule shared disks created??!!

    This won't make too much sense but envision a Finder window with the left hand side showing all the SHARED disks/computer such as the other computers on my local network and including the Time Capsule. When I first started using the TC, it showed up just fine with its pretty TC icon. That still shows up. But about a month ago, there was a bad storm, TC freaked out. The old icon for the TC is still there along with it's original name - "Time Capsule" (original, I know). But I cannot connect to it. However, a new shared disk appeared named "Time Capsule(2)" which I could connect to normally. Then last week my surge protector freaked out and not that one is a no go but a third was created "Time Capsule(3)" which I can connect to. NOTE: the subsequent shared disks have a "cinema display" type icon and not the cute TC icon.
    Ok, here is what I want to know: how can remove the "dead" Time Capsule, make sure the working Time Capsule has the cute icon, and understand why this happened. Much appreciated.
    Alex.

    I would try this:
    NOTE: The information (data, files, backups) stored on the Time Capsule will not be erased by this process
    1. In Time Machine preferences turn off backups (if not already off)
    2. Open Disk Utility
    3. Enter Time Machine and then exit (only to mount backup) - in Disk Utility, Time Capsule should show in left hand window
    4. Verify Disk (repair if necessary)
    5. If you need all the settings from Time Capsule, enter Airport Utility>manual setup and copy down the information
    6. Conduct a hard reset (erasing profiles) on the Time Capsule by pressing the reset button for more than 5 seconds immediately at power on (light should blink rapidly amber followed by a reboot)
    based off these instructions:http://support.apple.com/kb/HT1300
    7. Restart your computer
    8. Run Airport Utility to reconfigure the Time Capsule
    9. Go to Finder window and connect to Time Capsule
    10. If necessary per step 1: Turn on backups, select Time Capsule as backup disk & conduct backup

  • Help creating a formula

    I could use help creating a formula.
    I have a excel file that I want to move to numbers.  In it, I track the date last put in a column.
    Each Column is for a date, and each row for an item.   When I put a date in a the column, I am trying to create a forula that woudl return the date last input.
    That is probably all confusing....but here is the excel formula that works, that does not work in numbers.
    =IF(B80>0, INDEX(G80:FH80,MATCH(9.99999999999999E+307,G80:FH80)), "Not Played")
    Or a second one I have also used
    =INDEX(C5:JZ5,MATCH(9.99999999999999E+307,C5:JZ5))
    Honestly - I don't understand the forumla, I got it from someone - I just know it works in Excell, but not in numbers.
    Below is a picture of what it comes out like in Excell.  The column that is not working is the "Last played"
    Does that make sense?  Any Numbers experts out there that can help me create a forumla in Numbers for this?

    Hi Jim,
    If I'm reading your table correctly, it appears that all dates a particular song has been played are listed in the same row as the song title.
    If that's the case, your formula in G3 would be:
    =MAX(H3:XX3)
    With the letter identification of the last column in the table replacing XX.
    The formula would then be filled down from G3 to the last row containing a song title.
    Two other suggestions:
    Numbers does not really perform well with large tables. The underlying model for a Numbers spreadsheet is a number of small, single purpose tables using no extra rows or columns.
    As a first order revision to this table, I would suggest splitting the table after column G, then adding a single header column before what was column H. The seven column table consisting of columns A to G would then becone a summary table. The only entered data in this table would be the labels "Worship song (Wed)" through to "Last Played" in row 1. Row 2 would be empty to match the position of the song titles on this table with the positions on the larger table, and both row 1 and row 2 would be set as Header Rows to permit their being frozen in place, allowing other roll to scroll behind these two.
    Everything else on that table, including the song titles, would be formula generated from data on the larger table.
    The larger table would become a data collection table, containing only one or two formulas—the formula in row 2 that counts the number of songs used on each day, and possibly one to generate the weekly dates in row 1. All other data on that table would be directly entered by typing from the keyboard, pasting after copying from an outside source, or by inserting usng a script or menu item.
    The main advantage here is that this arrangement would lessen th liklihood of accidently altering formulas during data entry by moving all data entry to a separate table, and by making it possible to lock the summary table, where no data entry takes place.
    A second suggestion would be to limit the number of columns in the Data table to one for the song titles plus enough to collect the data for a period of either one or two years.
    The main question to determine whether this would be a useful step is 'Do you have a use for the actual dates on which a song was played over two years ago, or is the number of times it was played in each year sufficient at that temporal distance?'
    Making this change would involve some additional annual maintenance, with a couple of hitches that I haven't yet looked at, so unless the ie=dea interests you, I'll let the second 'sleeping dog' lie.
    Regards,
    Barry

  • Help Creating a Graph (of sorts) for Professional Driver Daily Logs

    Hey All!
    I'm working on a project for myself, that could go commercial if it gets as good as I'm hoping it will. This application (which I'm calling Truck Manager) will manage income and expenses, help plan trips, track trip/load information and do the US-MCSA/DOT regulated Driver's Daily Log. This log is a line graph that runs from midnight to midnight and has four lines: (1) Off Duty; (2) Sleeper Berth; (3) On Duty, Driving; and (4) On Duty, Not Driving. If anyone needs to see a paper form of this log book, just ask and I'll scan in one of my copies and post.
    Anyway, I'm using J2D to handle the log book "pages" and have already gotten the grid laid out just fine...it runs from midnight to midnight and is broken into 15-minute increments, with the four required lines described above. Now that I have that done, I've hit a logic block that is keeping me from figuring out the best and/or simplest way to log the status changes and time lines. For example, let's say that I work the following day:
    Midnight until 06:00 == off duty
    06:00 until 06:15 == on duty, not driving: performing pre-trip inspection
    06:15 until 08:00 == on duty, driving to customer to be loaded
    08:00 until 08:15 == on duty, not driving: being loaded (only required to log 15 minutes for this)
    08:15 until 09:00 == off duty (still being loaded)
    09:00 until 12:00 == on duty, driving (heading toward delivery)
    12:00 until 12:45 == off duty (lunch)
    12:45 until 15:00 == on duty, driving (heading toward delivery)
    15:00 until 15:15 == on duty, not driving (being unloaded)
    15:15 until 16:00 == off duty, (still being unloaded)
    16:00 until 20:00 == on duty, driving (heading home)
    20:00 until midnight == sleeper (ran out of hours)
    This graph would look like the following (provided each dash represents one 15-minute block:
    <pre>
    1. -----------------------| |---| |---| |---|
    2. | | | | | | | |----------------
    3. | -------| | |------------| |---------| | |----------------|
    4. |-| |-| |-|
    </pre>
    Though the above graph is crappy, it should give the idea of what needs to be done. At each change of status (i.e., from off duty to on duty, not driving) there must be a vertical line between the statuses, not going above and below like in the example above. Then, once the status changes again, the horizontal line needs to be drawn from the vertical line of the last status change to the time of the new status change and then the vertical line to the new status.
    The way the driver's daily log works is like this...When I come on duty, I am required to do a pre-trip inspection of my truck/trailer, which requires 15 minutes on duty, not driving, so I log that all at once, including the vertical line up to the 3rd line of the graph, which is on duty, driving. Then, in this example, I drive for 1.75 hours, until I arrive at my pick-up. Once I get there, I draw the horizontal line on line 3 of the graph, the vertical line down to line 4 (on duty, not driving), the 15-minute horizontal line and the vertical line up to line 1 (off duty). When I get ready to leave the pick-up after I am loaded, I draw the horizontal line across line 1, the vertical line down to line 3 and then drive until I stop.
    Other things that are desired for this graph logic is to take into account the US-MCSA/DOT regulations for drivers that state the following:
    a. A driver may not be on duty for more than 14 hours, without a 10-hour break
    - Nothing stops this "14-hour clock" except a 10-hour break, so if a driver comes on duty at 06:00 and spends 15 minutes doing the pre-trip inspection and then goes off duty for the next 8 hours, the 14-hour clock is still running and the driver will only have 5 hours and 45 minutes to work (roughly).
    b. A driver may not drive for more than 11 hours, without a 10-hour break, provided the 14-hour rule is obeyed.
    - In other words, even if a driver only drives for a total of 7 hours, but the 14-hour clock expires, the driver may not complete his/her 11 hours of driving allowed.
    c. A driver must take a break of 10 consecutive hours in each 24-hour period.
    *** This is confusing because the 10-hour break can span midnight and still be considered consecutive, even though part of the break is on one graph and the other part is on another graph.
    In taking these rules into account, I would like the graphing part of the program's logic to change the horizontal line color from blue (the regular line color) to red if the driver is in violation of the rules above. Where this gets really complicated is where the same status crosses midnight from day-to-day.
    As I said, I have successfully gotten the grid painted using java.awt.Graphics2D methods, but am having trouble coming up with the logic for drawing the driver status throughout the day. All data will be stored in a MySQL database table and can be pulled at any time that it is needed. The user will be entering the current status change time, as well as location (city and state) and a comment (which is not required, except for when doing a pre-trip inspection, fueling, loading or unloading), then clicking a button labeled "Update Log".
    Any help with the logic for this part of the application is greatly appreciated. If you can provide sample code to help demonstrate the logic you are describing, I will be grateful.
    Thank you all for your assistance. If you would like a better idea of what the daily log graph looks like, you can run the class below.
    Cheers,
    Sean
    <pre>
    * DriverLog.java: Driver's Daily Log entry screen. By completing the small form at the bottom of
    * dialog, the system will automatically update your log.
    * Created on Sep 30, 2010, 2:03:18 PM
    package net.pekinsoft.trkmgr.gui;
    import java.awt.BasicStroke;
    import java.awt.Color;
    import java.awt.Graphics2D;
    import java.awt.Point;
    import java.awt.Toolkit;
    * @author Sean Carrick
    public class DriverLog extends javax.swing.JFrame {
    // Private class-level variables.
    * @code{java.awt.Graphics2D} object that we will use for drawing on our
    * view port, which is a @code{javax.swing.JPanel} on our form. This view
    * port will hold our driver's log graph that shows the driver's status at
    * different times of the day based upon the data the driver provides.
    private Graphics2D canvas;
    * @code{java.awt.geom.Point} object to hold the starting x, y coordinates
    * for the driver's daily log off duty line.
    private Point offDutyStartPoint;
    * @code{java.awt.geom.Point} object to hold the ending x, y coordinates
    * for the driver's daily log off duty line.
    private Point offDutyEndingPoint;
    * @code{java.awt.geom.Point} object to hold the starting x, y coordinates
    * for the driver's daily log sleeper berth line.
    private Point sleeperStartPoint;
    * @code{java.awt.geom.Point} object to hold the ending x, y coordinates
    * for the driver's daily log sleeper berth line.
    private Point sleeperEndingPoint;
    * @code{java.awt.geom.Point} object to hold the starting x, y coordinates
    * for the driver's daily log driving line.
    private Point drivingStartPoint;
    * @code{java.awt.geom.Point} object to hold the ending x, y coordinates
    * for the driver's daily log driving line.
    private Point drivingEndingPoint;
    * @code{java.awt.geom.Point} object to hold the start x, y coordinates
    * for the driver's daily log not driving line.
    private Point notDrivingStartPoint;
    * @code{java.awt.geom.Point} object to hold the ending x, y coordinates
    * for the driver's daily log not driving line.
    private Point notDrivingEndingPoint;
    * @code{int} that holds the number of 15-minute blocks in a 24-hour period.
    private static final int qtrHourBlocks = (24 * 60) / 15;
    /** Creates new form DriverLog */
    public DriverLog() {
    // Initialize the window's components. {handled by NetBeans}
    initComponents();
    // Center the window on the screen.
    Toolkit tk = Toolkit.getDefaultToolkit();
    int winX = (tk.getScreenSize().width - getWidth()) / 2;
    int winY = (tk.getScreenSize().height - getHeight()) / 2;
    setLocation(winX, winY);
    // Initialize our drawing canvas.
    canvas = (Graphics2D) viewPort.getGraphics();
    // Next, we need to initialize our line starting and ending point objects.
    int qtr = (viewPort.getHeight() / 8);
    int y = qtr + 20;
    int startX = 20;
    int endX = viewPort.getWidth() - 20;
    offDutyStartPoint = new Point(startX, y);
    offDutyEndingPoint = new Point(endX, y);
    y = (qtr * 2) + 20; // Double the value of y
    sleeperStartPoint = new Point(startX, y);
    sleeperEndingPoint = new Point(endX, y);
    y = (qtr * 3) + 20; // Triple the value of y.
    drivingStartPoint = new Point(startX, y);
    drivingEndingPoint = new Point(endX, y);
    y = (qtr * 4) + 20; // Quadruple the value of y.
    notDrivingStartPoint = new Point(startX, y);
    notDrivingEndingPoint = new Point(endX, y);
    // Now that our objects have been initialized, we need to draw our grid.
    paint();
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
    bgrpStatus = new javax.swing.ButtonGroup();
    viewPort = new javax.swing.JPanel();
    lblStatusChange = new javax.swing.JLabel();
    txtStatusChange = new javax.swing.JFormattedTextField();
    rbtnOffDuty = new javax.swing.JRadioButton();
    rbtnSleeper = new javax.swing.JRadioButton();
    rbtnDriving = new javax.swing.JRadioButton();
    rbtnNotDriving = new javax.swing.JRadioButton();
    btnUpdate = new javax.swing.JButton();
    lblComment = new javax.swing.JLabel();
    txtComment = new javax.swing.JTextField();
    lblLocation = new javax.swing.JLabel();
    txtLocation = new javax.swing.JTextField();
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setTitle("Driver's Daily Log");
    setAlwaysOnTop(true);
    setResizable(false);
    addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowOpened(java.awt.event.WindowEvent evt) {
    formWindowOpened(evt);
    addWindowStateListener(new java.awt.event.WindowStateListener() {
    public void windowStateChanged(java.awt.event.WindowEvent evt) {
    formWindowStateChanged(evt);
    javax.swing.GroupLayout viewPortLayout = new javax.swing.GroupLayout(viewPort);
    viewPort.setLayout(viewPortLayout);
    viewPortLayout.setHorizontalGroup(
    viewPortLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 674, Short.MAX_VALUE)
    viewPortLayout.setVerticalGroup(
    viewPortLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 351, Short.MAX_VALUE)
    lblStatusChange.setText("Status Change Time:");
    txtStatusChange.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(
    new javax.swing.text.DateFormatter(new java.text.SimpleDateFormat("HH:mm"))));
    bgrpStatus.add(rbtnOffDuty);
    rbtnOffDuty.setSelected(true);
    rbtnOffDuty.setText("Off Duty");
    bgrpStatus.add(rbtnSleeper);
    rbtnSleeper.setText("Sleeper");
    bgrpStatus.add(rbtnDriving);
    rbtnDriving.setText("Driving");
    bgrpStatus.add(rbtnNotDriving);
    rbtnNotDriving.setText("On Duty; Not Driving");
    btnUpdate.setMnemonic('U');
    btnUpdate.setText("Update Driver Log");
    btnUpdate.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnUpdateActionPerformed(evt);
    lblComment.setText("Reason/Comment:");
    lblLocation.setText("Location: City, ST:");
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
    .addContainerGap()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(viewPort, javax.swing.GroupLayout.DEFAULT_SIZE,
    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(lblLocation)
    .addComponent(lblStatusChange))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addGroup(layout.createSequentialGroup()
    .addComponent(txtStatusChange, javax.swing.GroupLayout.PREFERRED_SIZE, 50,
    javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(18, 18, 18)
    .addComponent(rbtnOffDuty)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
    .addComponent(rbtnSleeper)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
    .addComponent(rbtnDriving)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
    .addComponent(rbtnNotDriving)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
    65, Short.MAX_VALUE)
    .addComponent(btnUpdate))
    .addGroup(layout.createSequentialGroup()
    .addComponent(txtLocation, javax.swing.GroupLayout.DEFAULT_SIZE,
    232, Short.MAX_VALUE)
    .addGap(18, 18, 18)
    .addComponent(lblComment)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(txtComment, javax.swing.GroupLayout.PREFERRED_SIZE,
    227, javax.swing.GroupLayout.PREFERRED_SIZE)))))
    .addContainerGap())
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(viewPort, javax.swing.GroupLayout.DEFAULT_SIZE,
    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addGap(18, 18, 18)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(lblStatusChange)
    .addComponent(txtStatusChange, javax.swing.GroupLayout.PREFERRED_SIZE,
    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(rbtnOffDuty)
    .addComponent(rbtnSleeper)
    .addComponent(rbtnDriving)
    .addComponent(rbtnNotDriving)
    .addComponent(btnUpdate))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(txtComment, javax.swing.GroupLayout.PREFERRED_SIZE,
    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(lblComment)
    .addComponent(lblLocation)
    .addComponent(txtLocation, javax.swing.GroupLayout.PREFERRED_SIZE,
    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addContainerGap())
    pack();
    }// </editor-fold>
    private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // KEEP AS LAST LINE IN THIS FUNCTION!!! //
    paint();
    private void formWindowStateChanged(java.awt.event.WindowEvent evt) {                                       
    // Draw the driver's daily log grid.
    paint();
    private void formWindowOpened(java.awt.event.WindowEvent evt) {                                 
    // Draw the driver's daily log grid.
    paint();
    private void paint() {
    drawOutline();
    * @code{net.pekinsoft.gui.DriverLog.drawOutline()} function handles the
    * rendering of the driver's daily log grid outline only.
    private void drawOutline() {
    // Set up the starting point for our log grid's upper-left corner.
    int x = 0; // 20 points down from the top.
    int y = 0; // 20 points in from the left.
    int offset = 28;
    // Get the height and width of our log grid from the panel.
    int h = 112;
    int w = 671;
    // Set the color of our border to Red.
    canvas.setStroke(new BasicStroke(1));
    canvas.setPaint(Color.BLACK);
    // Draw our log graph outline.
    canvas.drawRect(x, y, w, h);
    // Draw our log's horizontal lines.
    for ( int i = 1; i < 5; i++ ) {
    canvas.drawLine(x, y + (i * offset), w + offset, y + (i * offset));
    // Draw our log's hour lines.
    for ( int i = 1; i < 24; i++ ) {
    canvas.drawLine(x + (i * offset), 0, x + (i * offset), 112);
    // Draw our log's 30-minute ticks.
    for ( int i = 1; i < 48; i++ ) {
    for ( int j = 0; j < 5; j++ ) {
    canvas.drawLine(x + (i * (offset / 2)), y + (j * offset),
    x + (i * (offset / 2)), (y + (j * offset) + 10));
    // Draw our log's 15-minute ticks.
    for ( int i = 1; i < 96; i++ ) {
    for ( int j = 0; j < 5; j++ ) {
    canvas.drawLine(x + (i * (offset / 4)), y + (j * offset),
    x + (i * (offset / 4)), (y + (j * offset) + 5));
    canvas.drawLine(0, 112, 0, 122);
    canvas.drawLine(w, 112, w, 122);
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new DriverLog().setVisible(true);
    // Variables declaration - do not modify
    private javax.swing.ButtonGroup bgrpStatus;
    private javax.swing.JButton btnUpdate;
    private javax.swing.JLabel lblComment;
    private javax.swing.JLabel lblLocation;
    private javax.swing.JLabel lblStatusChange;
    private javax.swing.JRadioButton rbtnDriving;
    private javax.swing.JRadioButton rbtnNotDriving;
    private javax.swing.JRadioButton rbtnOffDuty;
    private javax.swing.JRadioButton rbtnSleeper;
    private javax.swing.JTextField txtComment;
    private javax.swing.JTextField txtLocation;
    private javax.swing.JFormattedTextField txtStatusChange;
    private javax.swing.JPanel viewPort;
    // End of variables declaration
    </pre>
    Edited by: 799477 on Oct 1, 2010 2:42 PM

    <blockquote>Sean, I checked your code and seen that package net.pekinsoft..., is this an Illinois Company by any chance?</blockquote>
    Yes, this is a company that I have tried (unsuccessfully) to start in central Illinois...I'm guessing that the "Pekin" part gave it away.
    <blockquote>Thanks for posting the DB TABLE -- we'll need that later, plus I wanted to see if you would respond.</blockquote>
    Not a problem on the DB table. Why wouldn't I respond...I want and NEED help here... ;-)
    <blockquote>I have a few questions but don't want to complicate your line of thinking, so I'll just describe generally how I have approached a big project like this. </blockquote>
    I will answer them the best that I can.
    <blockquote>For one thing, I do not start with a GUI or even consider what I want it to look like... I start with the data, and how that data is broken down into different classes, and then how those classes come together to form an Object Hierarchy. I have and do maintain a large MySQL database myself with 18 TABLES. Some of the TABLES hold very little information which I use as static final information. As a matter of fact, one of those TABLES is called status and contains 5 fields. This status TABLE is storing 7 rows of information because I have 7 different levels. The fields in my status TABLE are status_id, status_type, status_title, status_desc, and status_icon. This means I will have 7 icons to represent the different status levels, a description, a title, a type (maybe yours could be ON or OFF duty for example), and the ID of the status.
    Another thing at this stage of development is that I don't make up my mind concretely about any of the data or how the data will fit together. I want to remain as flexible as possible, so that as my design develops, the design allows for the addition or subtraction of data and different data types to be created. In other words, I completely atomize all structure, associations, relationships, dependencies, or just anything in general that makes two or more pieces of information stick together.
    At this point, all I have is a loose bag of primitive data types with no structure whatsoever. Like I just tore up a piece of paper into a hundred pieces and threw into the air letting the pieces fall where they may.
    While I'm at this point, I will make decisions about which languages and platform would be the best to raise the beast. In my case, I chose to run it on the internet, so I chose MySQL to store the data, SQL to communicate to the DB, and the server uses a PHP scripting engine to spit out the HTML, also PHP lets me create OO classes very similar to a JAVA class. This is a very important step and must be made now, not later -- you don't want to do all this work only to find out that it should have been done in another language! Been there done that.
    Once I've decided all of the above, then I come back and decide how the data should be organized. NOW I make all the database TABLES. Then I write a class definition for each of the db tables. Each class will provide methods for saving, editing, and retrieving info to and from the db using SQL.
    Once I get to this point I will make FORMS for the easy entry of data. The FORMS, CLASSES and and db TABLES all mirror each other now, so the CLASSES handle all the info from FORM to DB, DB to FORM. Notice at this point I am still dealing with data and data flow, NOT the display of pretty information -- not even close.
    Ok, enough about this Sean, let me know if this helps any.</blockquote>
    This information was helpful, but also how I typically approach a large project.
    The only problem with what you talk about above is dealing with allowing "wiggle-room" for changing the data because the data that I'm storing is codified by the federal government through the CSA-2010 laws that regulate the trucking industry. Therefore, I really don't have any wiggle-room with the data at all.
    As for choosing Java over another language, I made this choice because I don't like limiting myself (or others) on what operating system they use and platform-independence is one of the best things about Java (provided you don't use any OS-specific code, which I try like hell not to do). I am a huge Linux guy, but have to use Windows to update my GPS and would like to be able to use this application no matter which OS I'm booted into. Just so you understand, I am fluent in multiple languages, including PHP, Java, Python, Ruby, C/C++, BASIC and Bash. I am also very big on OOP and always leave accessing the database to the class that holds that data (i.e., LogEntry class will access the database to store and retrieve the log data). I am also using MySQL as the database back-end, because it is the SQL server that I am most comfortable with and also has versions for various OSes. I use the mysql-connector.jar library for accessing MySQL from Java, so that's not even an issue.
    As for "static final" data in the database, I do store my statuses, with the status_id numbers the same as the row number on the hard-copy Driver's Daily Log books. These records simply hold the status_id and description (i.e., 1, "Off Duty").
    I believe that I've got the logic for logging an entry such as: 08:00-10:00, On Duty, Driving, status location Indianapolis, IN, comment: Tire check. This whole entry is on the same day and therefore fairly easy to graph. The type of entry that I'm having problems figuring the logic for is one where the last change of duty status was before midnight and the current change of duty status is after midnight, on the next day. For example, I typically stop for the night (my DOT 10-hour break) at 5:00 PM (17:00) and am in the sleeper across midnight, then get going at 3:00 AM (03:00). I'm having trouble figuring out how many hours to log on the current day. In the example that I just gave, I'm not getting how I can figure out when to start at midnight and when to start out at the prior status change time through code. Nothing that I try seems to work correctly and I keep getting horizontal status lines outside of my graph area.
    As for what data I need to store and how I need to store it, I am very flexible, except with the daily log data, since it is federally mandated. Once I figure out the logic for actually logging the statuses and changes of status properly, I will create the class for storing and retrieving the database data...for now I'm just using hard-coded times to get the graphing logic right without the overhead of database access. Changing this code to use the data from the database will be a snap in comparison to figuring out the graphing functionality.
    Thanks for your insights and assistance. I look forward to seeing what other ideas you have to share.
    Sean

  • I want to create a document/spreadsheet (whichever) that I can send to agencies to type in information for work projects. Any ideas? I have an Excel file but it does not convert over very well and I am having trouble making changes to it.

    Need to create a new spreadsheet or be able to edit the one I have.
    I use this spreadsheet as a work order form for social service agencies. They enter name address etc., and then there are various work projects that they can select as well.
    The one I have from the organization I work with is an excel file but it does not convert over very well. Instead of being 7 pages it is more like 11 or so because things run off the page.  I am trying to delete certain things and move them over but not working out very well so thought it might be easier to start over fresh.
    Is numbers the program to use? If so, any useful tips?

    If the form is going to be used on an iPad, Numbers is the only game in town.
    Numbers is available for Macs only (and iOS devices). Excel is available for PCs and Macs. If you are in a mixed environment of Windows PCs and Macs and you are using this document as an electronic form, Excel is probably the better choice. Otherwise you will need to export to Excel for the PC users then import from Excel to retrieve their data. The import/export process is not perfect. A file that has been exported then reimported will not be the same as the original file. I would assume social services agencies are almost entirely PC-based. 
    If the form is to be printed or turned into a PDF for distribution and use by the social services agencies, either Excel or Numbers would do the job but right now Excel might be the better choice. I would have recommended Numbers '09 but I cannot recommend Numbers 3 for anything thsat requires printing until they give us the layout and printing functionality we used to have (editing in Print View, ability to set margins, etc).
    If everything else in your department/operation/agency is Windows PC and Microsoft Office based, you would be better off sticking with the standard.
    I hope that helps.

  • I want to create a spread sheet in numbers and be able to change the highlight color of a row.

    I have created a spreadsheet in numbers that allows me to track certain items throughout the day. 
    Some of the cells I have customized so that when I'm using the iPhone, it is easy to input the data. 
    My question is this:  Can I also customize a button (say to the far left to get the entire row) so that I can highlight a row of data (red, yellow, green) to indicate the status of the data?  I know that I can do it by manually selecting the row and then going through the steps.  I want to make it a selectable "one-click" option.
    Just to clarify:  This numbers doc is uploaded to iCloud and I change the data depending on where I'm at.  At Home/Office, I use the mac.  During the day I'll use my iPhone or iPad.
    Any ideas?
    Thanks a million

    Unfortunately it's not possible yet...
    https://discussions.apple.com/thread/3962330?tstart=30
    Srry

  • Setting up a pupil assement and tracking spreadsheet - how to go about it?!

    Hopefully somebody will be able to suggest some ideas to my problem. I am a head teacher in the UK, and want to setup an assessment and tracking spreadsheet for the children in my school. Basically I want to be able to enter a curriculum level (1 to 5), three time a year (we assess each term) and enter a final level for the year, and then based on that level a predictive level for the end of year 2 and 6 when they leave – as well as an historic graph tracking their progress whilst in the school. I need to do this for each child in school and for each of the 12 subjects (though we only need to assess some once a year). I would also like to be able to glean from this information the average maths or English level in the school for a particular year for example and be able to compare a certain child to the average. Tracking the average score for a subject from year to year would also be beneficial – as it would alert should we need to focus on any aspect of the curriculum.
    Here is my basic question - Even though I am only a very small rural school – with 50 pupils – I can’t fathom a way to set this up neatly – is it possible to do this. Do I create 50 sheets – one for each child – with all subjects on that sheet, and a level for every year in that subject? Or - Do I create 12 sheets – one for each subject – and have each pupil’s name there? Or do I create a fresh document for each subject! Another problem is that I need to promote the pupils at the end of a school year to a new class – and some children will leave and others will arrive.
    I guess my question is - has somebody tackled anything like this before – or is anyone willing to suggest a way of setting this up so that it is both clear and efficient.

    Gwyn,
    I am sure that the solution offered here has over simplified your situation and that the scope of your problem is far more reaching. However, I offer the following as a starting point.
    We begin with a Master List in which all levels for each student and subject are listed. I assume that your term "level" indicates the measure of a student's mastery of the subject. My abbreviated table shows only three subjects.
    You didn't define how final levels were determined so I just averaged the three term levels in the "Final Levels" table. These formulas are header entered and are of the form:
    =IF(ISBLANK(Student),"",AVERAGE('2008-09 Master List' :: B2:D2))
    Each subject calculates an average final level in the footer:
    =AVERAGE('2008-09 Master List' :: English Term 1:English Term 3)
    You sought an above/below average number for Math and English and these are also header entered:
    =IF(ISBLANK(Student),"",English-B$11)
    And finally, a "Cumulative Subject Levels" Table shows the average final score for each subject over a span of years. (='2008-09 Final Levels' :: B11). As it stands, I envision this table on a separate sheet with whatever charts you require. I also picture a separate sheet for each year.
    As I said in the beginning, this is a starting point. I look forward to your response.
    pw

Maybe you are looking for

  • Folder disappeared on External Lacie Hard Drive - Mountain Lion

    Hi I had a folder named "Digital Pictures" on my external hard drive where i have stored with "year-month-day folder name" as a folder name. Before I went on a trip last friday, I had copied all the files from my EOS memory card and formatted them on

  • Does SAP have standard return Po output?

    Hi experts Now we plan to use return po flag on PO item. In case ,it's po which return to vendor, We will check the po return item flag. The return PO form will be some different from the standard one. eg: the title will not be purchase order. Since

  • Need help with XtremeGamer and

    Can someone from support or other knowledgable peeps help me identify what exactly is going on with my soundcard, as well as answering my question about sound quality, ?or direct my post to the relevant thread, Im sorry for the long post I will try t

  • PLEASE PROVIDE ME THE SOLUTION.

    Hi everyone, I am looking for SAP-SD certification currently working in non-sap domain. In India there are too many restrictions to write the exam as a fresher and in monetary terms also I cannot invest more than a lakh . I heard going abroad especia

  • I have an Apple TV 2, is there a way to limit use time?

    I have an Apple TV 2, is there a way to limit use time?