PDA

View Full Version : Report Columns, Side by Side Same Field Different Values


ABC123

Gustavo1478
01-15-2015, 02:15 PM
I'm trying to build an attendance tracking application and I have a table that holds punch time information. Each row has the following columns (1)FullName (2)PunchTime (3)PunchType.

Each day a record will have 4 punches total (ideally) 2 "IN" punch and 2 "OUT" punches.Ive created a report that shows all this information but how do I get the "IN" and "OUT" punches to show up next to each other in the report rather than stacked on top of each other?

Currently my report columns look like this:
(FullName) | PunchType | PunchTime

John Smith | IN| 09:51:15 AM
John Smith | OUT | 12:00:00 PM
John Smith | IN | 01:00:00 PM
John Smith | OUT | 05:00:00 PM

But I would like it to look like this:
John Smith | IN | 09:51:00 AM | OUT| 12:00:00PM
John Smith | IN | 01:00:00 PM | OUT | 05:00:00 PM

How would I go about accomplishing this?

BTW, this is on a desktop application running dbf tables. Eventually this will be upsized to sql but I find it easier to build the app in dbf first.

MoGrace
01-15-2015, 02:56 PM
Nt

Need to rethink my initial idea since you want to display 4 fields - I was thinking of only two...

Perhaps you need 4 punch fields? That are filled in succession based on which fields are already filled, And then a way to edit a missed punch that has put the time in the wrong field. At least that seems to be how my timeclock software is doing it.

Gustavo1478
01-15-2015, 03:32 PM
That's how I originally thought it up but then when I began to try and develop, I quickly realized this was a bit out of my abilities. How does one build an evaluation string to enter fields in succession within one record at different times?

Stan Mathews
01-15-2015, 03:53 PM
I would imagine you have a form where you find a particular employee and enter the punch in the appropriate field.

If you're speaking of each individual doing their own entry, how are they dong it now? Surely you need more fields than mentioned. Are you not recording the date for which the times are recorded? Are you really using the name rather than an employee id code?

Gustavo1478
01-15-2015, 04:56 PM
I would imagine you have a form where you find a particular employee and enter the punch in the appropriate field.

If you're speaking of each individual doing their own entry, how are they dong it now? Surely you need more fields than mentioned. Are you not recording the date for which the times are recorded? Are you really using the name rather than an employee id code?

Currently there is a manual punch clock, where the person grabs their time card lines up on the analog clock and pulls the lever to punch, Im trying to build an app to do all this.

The fields on the table are as follows:

SignInOut_ID - AutoIncrement (Character)
Staff_ID_fk - User entered. Currently manually typed but I want to implement some type of ID card scan process. This field looks up and fills from an Employees table.
Department - Look up and filled based on Staff_ID_fk
PunchDate - Date()
PunchTime - TIME("0h:0m:0s AM") Although Im not sure Im using this field correctly.
Location - GetCurrentUser() - Current user is the location ID
InOutType - Based on a varibale called vPunchType, the user can select "IN" or "OUT"

Mostly all the fields get automatically populated, Once the Staff_ID_fk field is filled it automatically tabs to the next field where it has a CanArrive event that saves the record, displays a dialog box with the information just entered and places the form back into New Record mode for the next staff member.

forskare
01-16-2015, 12:49 AM
Maybe I'm missing something here but how about 3 fields, Name, Date/Time In, Date/Time out. Or, you could separate the Date/Time fields if you prefer. Before retirement, we had a system where the employee simply clicked a button to show they were punched in and another to show when they were punched out. That way, employees could not alter the date or time.

CharlesParker
01-16-2015, 01:43 AM
Yeah what if I go to the dentist for an hr today?

Gustavo1478
01-16-2015, 11:11 AM
What I plan on doing is having a kiosk type desk where all staff will punch in as they arrive using an ID card that gets scanned. The ID card will have a barcode/QR Code with their employee ID number. When the application starts it will consume the entire screen and set a variable to IN, all toolbar buttons will be suppressed and will not allow navigation to any other items on the computer (we have many spare PCs which is why im exploring this option). Im trying to mimic a Kronos type punch system through Alpha. The only button visible on the form will set a variable to either IN or OUT.

The employees will not have access to this application on their PCs at their desk, the only personnel with access to this from their own PC will be managers, pay roll staff and the DBA of course. Thank you for your input anyway.

Tom Cone Jr
01-16-2015, 11:35 AM
Ivan

One way to put field values from two records on the same row in a report is to preprocess the data. Write a script to step through the table and assign desired field values to a new record in a "temporary" table used only for the report. The temp table gets flushed before and after the report is run.