473,405 Members | 2,373 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

How to report schedule format from table

I have a production table. In the Table tblJobAdress, I have fields named JobNumber, Address, RoughDate, TopoutDate, and TrimDate.

I want a report that has columns with the Day of the Week (Mon-Sat) Row Headers of Rough, Topout, and Trim. And the details being the address.

I currently have a report that does that, but only one address is in each row. There is a cascading effect with first address on Monday having empty cells for Tuesday through Sat. Next row Monday is empty, Address on Tuesday and cells for Wednesday through Sat are empty. this is all the way through the report.

What I am trying to achieve is to Row 1 have the first address for Monday, first address for Tuesday, first address for Wednesday, first address for Thursday, first address for Friday, first address for Saturday. Instead of Cascading down.

Sample data from table ready for current report

Attached Images
File Type: jpg Schedule.jpg (66.5 KB, 391 views)
Oct 23 '15 #1
15 1267
zmbd
5,501 Expert Mod 4TB
Let's see if I understand correctly
Take the first ten rows in your image [Phase]="Rough"
In Monday the first entry is on row 10, you would like that to start in row one. Same with Tuesday, etc...
Expand|Select|Wrap|Line Numbers
  1. [Phase][Monday     ][Tuesday    ][Wednesday  ][....]
  2. [Rough][5821 Park..][6816 Clay..][2844 St B..][etc...]
  3. [Rough][           ][           ][2848 St B..][etc...]
  4. [Rough][...]
  5. [...]
Is that the effect that you are after?

Can you please post the SQL or method that you are using to create your current report format?

Could you also provide 4 rows of your data in [tblJobAdress] (actual or generic; however, if generic, the values should be the same type-cast) in the table format (like I have done above). It appears from your description that you do not have a primary key in [tblJobAdress] - if you do have a primary key would you indicate which field.

Please use the [CODE/] formatting found in the toolbar to format your SQL and the table will hold its tabular formatting provided you also use the [CODE/] toolbar formatting around the table rows (tip, use spaces not the [Tab] key to space your data)
Oct 24 '15 #2
Yes this is the Effect I am trying to get.

I use MS Access for the Tables and Queries. Starts off with query changing the schedule date into Day of Week. Then I use a Crosstab Pivot Query using the Day of Week as Column Header and Address as Value. Then I Append the Data to a Temp Table from which I Report from to get a perpetual this week and next weeks schedule.

Here is the beginning data in comma delimited:
Expand|Select|Wrap|Line Numbers
  1. JobId,JobNumber,Phase,Scheduled,ScheduleDate,BuilderName,Address,AreaManager,SubdivisionName,Plan,Hand,SubdivisionCity,MaterialVendor,PhaseName,Crew,StartDate
  2. 017-006-0085,0170060085,1500,Scheduled,10/27/2015,NEW HOMES,1000 Any Street,CHARLES,REDNECK FARMS,3051,RIGHT,ROANOKE,0061-HIGH DOLLAR ,Trim,,02-Jun-15
  3. 017-006-0090,0170060090,1300,Scheduled,10/30/2015,NEW HOMES,2234 Any Street,CHARLES,REDNECK FARMS,3438,RIGHT,ROANOKE,0061-HIGH DOLLAR ,Topout,,08-Sep-15
  4. 017-006-0092,0170060092,1200,Scheduled,10/28/2015,NEW HOMES,3468 Any Street,CHARLES,REDNECK FARMS,2016,LEFT,ROANOKE,0061-HIGH DOLLAR ,Rough,,21-Oct-15
  5. 017-007-0097,0170070097,1300,Scheduled,10/26/2015,NEW HOMES,4702 Any Street,DUSTIN,TRIBUTE,2761,LEFT,THE COLONY,003-LESS EXPENSIVE,Topout,,19-May-15
  6. 017-007-0101,0170070101,1300,Scheduled,10/29/2015,NEW HOMES,5936 Any Street,DUSTIN,TRIBUTE,3640,LEFT,THE COLONY,003-LESS EXPENSIVE,Topout,,20-Jul-15
  7. 017-007-0104,0170070104,1200,Scheduled,10/27/2015,NEW HOMES,7170 Any Street,DUSTIN,TRIBUTE,4787,RIGHT,THE COLONY,003-LESS EXPENSIVE,Rough,,13-Oct-15
  8. 017-007-0105,0170070105,1200,Scheduled,10/27/2015,NEW HOMES,8404 Any Street,DUSTIN,TRIBUTE,4234,LEFT,THE COLONY,003-LESS EXPENSIVE,Rough,,19-Oct-15
  9. 017-007-0106,0170070106,1200,Scheduled,10/30/2015,NEW HOMES,9638 Any Street,DUSTIN,TRIBUTE,3963,LEFT,THE COLONY,003-LESS EXPENSIVE,Rough,,22-Oct-15

Here is the SQL Code.

Expand|Select|Wrap|Line Numbers
  1. SELECT qryBilling02.AreaManager
  2.    , qryBilling02!ScheduleDate-DatePart("w",qryBilling02!ScheduleDate,7,3)+3 
  3.       AS Beginning
  4.    , qryBilling02!ScheduleDate-DatePart("w",qryBilling02!ScheduleDate,7,3)+8 
  5.       AS Weekending
  6.    , Format(qryBilling02!ScheduleDate,"dddd") 
  7.       AS WeekDay
  8.    , qryBilling02.PhaseName, qryBilling02.ScheduleDate
  9.    , StrConv(qryBilling02!Address & " - " 
  10.       & [qryBilling02!Plan] & Chr(13)+Chr(10) 
  11.       & Left(qryBilling02!BuilderName,13) & " - " 
  12.       & Mid([qryBilling02!MaterialVendor],5) 
  13.       & Chr(13)+Chr(10) & qryBilling02!SubdivisionName
  14.       & ", " & qryBilling02!SubdivisionCity,3) 
  15.          AS Address
  16.    , Date()-DatePart("w",Date(),1,3)+15 
  17.       AS Expr1
  18.    , qryBilling02.BillDate
  19.    , qryBilling02.Phase 
  20.       AS PhaseNumber
  21. FROM qryBilling02
  22. WHERE (((qryBilling02.PhaseName)<>" Start") 
  23.       AND ((qryBilling02.ScheduleDate)
  24.          >Date()-DatePart("w",Date(),1,3)-6 
  25.          And (qryBilling02.ScheduleDate)
  26.             <Date()-DatePart("w",Date(),1,3)+14)
  27.       AND ((qryBilling02.BillDate) Is Null));
"From that I use a Crosstab Pivot Query"
Expand|Select|Wrap|Line Numbers
  1. TRANSFORM Last(AreaManagerSchedule.Address)
  2.    AS LastOfAddress
  3. SELECT AreaManagerSchedule.AreaManager
  4.    , AreaManagerSchedule.PhaseName 
  5.       AS Phase
  6.    , AreaManagerSchedule.Address
  7.    , AreaManagerSchedule.Weekending
  8.    ,AreaManagerSchedule.Beginning
  9.    ,AreaManagerSchedule.PhaseNumber
  10.    ,AreaManagerSchedule.BuilderName
  11. FROM AreaManagerSchedule
  12. GROUP BY AreaManagerSchedule.AreaManager
  13.    , AreaManagerSchedule.PhaseName
  14.    , AreaManagerSchedule.Address
  15.    , AreaManagerSchedule.Weekending
  16.    , AreaManagerSchedule.Beginning
  17.    , AreaManagerSchedule.PhaseNumber
  18.    , AreaManagerSchedule.BuilderName
  19. PIVOT AreaManagerSchedule.WeekDay;
"After deleting the data out my temp table, I Append to Temp Table"
Expand|Select|Wrap|Line Numbers
  1. INSERT INTO tblAreaManagerSchedule 
  2.    ( AreaManager, Phase, Weekending, Beginning
  3.       , Monday, Tuesday, Wednesday, Thursday
  4.       , Friday, SortCode, MondayDate, TuesdayDate
  5.       , WednesdayDate, ThursdayDate, FridayDate
  6.       , PhaseNumber, BuilderName)
  7. SELECT AreaManagerSchedule_Crosstab.AreaManager
  8.    , AreaManagerSchedule_Crosstab.Phase
  9.    , AreaManagerSchedule_Crosstab.Weekending
  10.    , AreaManagerSchedule_Crosstab.Beginning
  11.    , AreaManagerSchedule_Crosstab.Monday
  12.    , AreaManagerSchedule_Crosstab.Tuesday
  13.    , AreaManagerSchedule_Crosstab.Wednesday
  14.    , AreaManagerSchedule_Crosstab.Thursday 
  15.       AS Expr1
  16.    , AreaManagerSchedule_Crosstab.Friday
  17.    , AreaManagerSchedule_Crosstab!AreaManager
  18.       & " Schedule Begining on " 
  19.       & AreaManagerSchedule_Crosstab!Beginning 
  20.       & " and Ending on  " 
  21.       & AreaManagerSchedule_Crosstab!Weekending 
  22.          AS SortCode
  23.    , AreaManagerSchedule_Crosstab.Beginning 
  24.       AS MondayDate
  25.    , [Beginning]+1 
  26.       AS TuedayDate
  27.    , [Beginning]+2 
  28.       AS WednesdayDate
  29.    , [Beginning]+3 
  30.       AS ThursdayDate
  31.    , [Beginning]+4 
  32.       AS FridayDate
  33.    , AreaManagerSchedule_Crosstab.PhaseNumber
  34.    , AreaManagerSchedule_Crosstab.BuilderName
  35. FROM AreaManagerSchedule_Crosstab
  36. GROUP BY AreaManagerSchedule_Crosstab.AreaManager
  37.    , AreaManagerSchedule_Crosstab.Phase
  38.    , AreaManagerSchedule_Crosstab.Weekending
  39.    , AreaManagerSchedule_Crosstab.Beginning
  40.    , AreaManagerSchedule_Crosstab.Monday
  41.    , AreaManagerSchedule_Crosstab.Tuesday
  42.    , AreaManagerSchedule_Crosstab.Wednesday
  43.    , AreaManagerSchedule_Crosstab.Thursday
  44.    , AreaManagerSchedule_Crosstab.Friday
  45.    , AreaManagerSchedule_Crosstab!AreaManager 
  46.       & " Schedule Begining on " 
  47.       & AreaManagerSchedule_Crosstab!Beginning 
  48.       & " and Ending on  " 
  49.       & AreaManagerSchedule_Crosstab!Weekending
  50.    , AreaManagerSchedule_Crosstab.Beginning
  51.    , [Beginning]+1
  52.    , [Beginning]+2
  53.    , [Beginning]+3
  54.    , [Beginning]+4
  55.    , AreaManagerSchedule_Crosstab.PhaseNumber
  56.    , AreaManagerSchedule_Crosstab.BuilderName;
Oct 26 '15 #3
zmbd
5,501 Expert Mod 4TB
OK,
Question about your dataset, is that all in one table, or do you have that normalized?

The reset of that will take us a little-bit to wade thru. :)
Oct 26 '15 #4
Yes the dataset is as Normalized as much as I could. I inherited the database when I took over the job. The Dataset is from a union query "qryBilling02". it was easier to send you the data from the Union Query than sending all of the tables associated.

Table Names for qryBilling01:
tblJobAddress
tblSubdivision
tblBuilder
tblCity

qryBilling02 Union Query puts the Phase (Name, Number, ScheduleDate, BillDate, Installer) in the same columns.
Oct 26 '15 #5
zmbd
5,501 Expert Mod 4TB
I'm not seeing anything in particular that would help; however, admittedly, CTQ are my weakest work knowledge.

In my experience when I've tried to do a similar report, what I have found is that to get things to line up there has to be a row to column (R,C) commonality.

So to take your image, (12,1) (Monday, first entry), you want something that will then relate the (12,1) to (1,2) and the remaining entries, so that it's (1,1), (1,2)... that, so to speak, is the "captain obvious" on my part.

What I don't see in your data set is anything that would allow us to assign (12,1) to (1,1) nor (11,2) to (1,2), (9-10,3) to (1-2,3), etc... given that you are using a temporary table, there maybe something that can be done therein, such as a sequence number along the lines of the yearly one as described here modified to cycle on the weekday for the work week...http://bytes.com/topic/access/answer...increments-one

Wish I could be of more help here;

HOWEVER,

We have some real SQL wizards on this site; hopefully, one of them will stop in shortly and provide some better help...

I'll be following this, need to learn something new here too.
Oct 27 '15 #6
I have tried several different approaches. I have no doubt that there is a solution.

1. Tried to make Five reports (Monday, Tuesday, etc.) and then combine them in in a row of reports on a "Master report".

2. Tried to make a Crosstab Pivot Query on the DataSet above.

3. Tried to reset the Primary Key back to 1 for each report to use it for One to Many.

4. Opening five copies of the table in a query (View for SQL) Joining on PhaseName.

If anyone is curious of what I am trying to achieve is to report from the Dataset image attached at the top without the cascading separation. ZMBD is on the right path.
Oct 27 '15 #7
jforbes
1,107 Expert 1GB
I too am intrigued with this. I have a few questions to hopefully clarify and help this along.

What is the desired end result for this report? Do you wish to show it on a Form, Print a Report, Export to Excel? Or a combination? Will the amount of items scheduled per day vary?

One reason I ask is, I don't believe that boxing the data into a grid like in your example is necessary for you unless you are then expecting to easily Export it to Excel or Show it to the User in a Datasheet. If you are planning on showing the data in Calendar type view on a Form or Report you have some other options, like creating SubReports/Forms for each Day of the Week and letting the Days them fill themselves out from the data you currently have.

If a SubForm/Reports wont work for you, then I believe you will need to resort to some code so that you can build a looping structure. I don't think working with the data in Sets the way a database likes will work for you. I think a looping structure will be needed to determine where to put a value when attempting to compress it.

For a given week, how can you determine how many Items are scheduled for each day? I'm doubtful that there will always be the same amount of items for each day, so that on a given week, you could have 5 items for Monday and 7 Items for Tuesday. The next week this situation could be reversed. The amount of scheduled items per day and the amount of rows per week would vary and attempting to pull this off in SQL will get very hairy. The only way I can think to do this is to add a RowNumber to the each Item for that Day, then use another query that puts the Days of the Week onto a single row by using the RowNumber. This would be complicated if there are varying amounts of scheduled items per day, which would probably need a temp table of RowNumbers that would allow for all situations to be met.

...At this point, it would probably be better to switch to a procedural language to loop through all the data and insert records into a temp table (or recordset in memory) as they fill up.
Oct 27 '15 #8
The purpose of the MS Access Report for our Field Personnel to Print out the Weeks Schedule per Field Personnel. The Number of Addresses will vary greatly from Schedule to Schedule.

We currently have 13 Field Personnel using this report with each having 60-120 houses with 12-54 active scheduled houses per week per each Field Personnel.

Previously I had used A report with five SubReports (Monday, Tuesday, etc.). Still Cascaded.

Boxing the DataSet is a end result from the Data Manipulation to organize in the format that was required of me. The TempTable has more data in it than was first show in the image. I sent only the data I thought that was pertinent to my question.

You mentioned "looping structure". I am familiar MS Access but I have little experience in SQL.

The Schedule for each day/week is determined by the Field Personnel hourly. This has to be a fluid report.

MS Access restarts the AutoNumber back to 1 when the Table is recreated. I tried to figure out a loop that was Access easy to no avail.
Oct 27 '15 #9
Rabbit
12,516 Expert Mod 8TB
Do a pseudo-ranking, partitioning on the phase name and weekday. Then do a crosstab with that.

The sample code below is a mockup in SQL Server, not Access. But contains the relevant logic that will need to be replicated in Access.
Expand|Select|Wrap|Line Numbers
  1. declare @t table(
  2.     JobId char(12),
  3.     JobNumber char(10),
  4.     Phase char(4),
  5.     Scheduled char(9),
  6.     ScheduleDate date,
  7.     BuilderName char(9),
  8.     [Address] varchar(255),
  9.     AreaManager varchar(255),
  10.     SubdivisionName varchar(255),
  11.     [Plan] varchar(255),
  12.     Hand varchar(255),
  13.     SubdivisionCity varchar(255),
  14.     MaterialVendor varchar(255),
  15.     PhaseName varchar(255),
  16.     Crew varchar(255),
  17.     StartDate date
  18. )
  19.  
  20. insert into @t values ('017-006-0085','0170060085','1500','Scheduled','10/27/2015','NEW HOMES','1000 Any Street','CHARLES','REDNECK FARMS','3051','RIGHT','ROANOKE','0061-HIGH DOLLAR ','Trim','','02-Jun-15')
  21. insert into @t values ('017-006-0090','0170060090','1300','Scheduled','10/30/2015','NEW HOMES','2234 Any Street','CHARLES','REDNECK FARMS','3438','RIGHT','ROANOKE','0061-HIGH DOLLAR ','Topout','','08-Sep-15')
  22. insert into @t values ('017-006-0092','0170060092','1200','Scheduled','10/28/2015','NEW HOMES','3468 Any Street','CHARLES','REDNECK FARMS','2016','LEFT','ROANOKE','0061-HIGH DOLLAR ','Rough','','21-Oct-15')
  23. insert into @t values ('017-007-0097','0170070097','1300','Scheduled','10/26/2015','NEW HOMES','4702 Any Street','DUSTIN','TRIBUTE','2761','LEFT','THE COLONY','003-LESS EXPENSIVE','Topout','','19-May-15')
  24. insert into @t values ('017-007-0101','0170070101','1300','Scheduled','10/29/2015','NEW HOMES','5936 Any Street','DUSTIN','TRIBUTE','3640','LEFT','THE COLONY','003-LESS EXPENSIVE','Topout','','20-Jul-15')
  25. insert into @t values ('017-007-0104','0170070104','1200','Scheduled','10/27/2015','NEW HOMES','7170 Any Street','DUSTIN','TRIBUTE','4787','RIGHT','THE COLONY','003-LESS EXPENSIVE','Rough','','13-Oct-15')
  26. insert into @t values ('017-007-0105','0170070105','1200','Scheduled','10/27/2015','NEW HOMES','8404 Any Street','DUSTIN','TRIBUTE','4234','LEFT','THE COLONY','003-LESS EXPENSIVE','Rough','','19-Oct-15')
  27. insert into @t values ('017-007-0106','0170070106','1200','Scheduled','10/30/2015','NEW HOMES','9638 Any Street','DUSTIN','TRIBUTE','3963','LEFT','THE COLONY','003-LESS EXPENSIVE','Rough','','22-Oct-15')
  28.  
  29. select
  30.     p.PhaseName,
  31.     p.Monday,
  32.     p.Tuesday,
  33.     p.Wednesday,
  34.     p.Thursday,
  35.     p.Friday
  36.  
  37. from (
  38.     select
  39.         t1.PhaseName,
  40.         datename(dw, t1.ScheduleDate) as DayOfWeekName,
  41.         t1.[Address],
  42.         COUNT(*) as groupRowNum
  43.  
  44.     from 
  45.         @t t1
  46.  
  47.         left join @t t2 on
  48.             t1.PhaseName = t2.PhaseName and
  49.             datename(dw, t1.ScheduleDate) = datename(dw, t2.ScheduleDate) and
  50.             t1.JobId <= t2.JobId
  51.  
  52.     group by
  53.         t1.PhaseName,
  54.         datename(dw, t1.ScheduleDate),
  55.         t1.[Address]
  56. ) t
  57.  
  58. pivot (
  59.     max([Address])
  60.     for DayOfWeekName in (
  61.         [Monday], [Tuesday], [Wednesday], [Thursday], [Friday]
  62.     )
  63. ) p
  64.  
  65. order by 
  66.     p.PhaseName,
  67.     p.groupRowNum
It produces the results
Expand|Select|Wrap|Line Numbers
  1. PhaseName    Monday    Tuesday    Wednesday    Thursday    Friday
  2. Rough    NULL    8404 Any Street    3468 Any Street    NULL    9638 Any Street
  3. Rough    NULL    7170 Any Street    NULL    NULL    NULL
  4. Topout    4702 Any Street    NULL    NULL    5936 Any Street    2234 Any Street
  5. Trim    NULL    1000 Any Street    NULL    NULL    NULL
Oct 27 '15 #10
zmbd
5,501 Expert Mod 4TB
Rabbit,

For those of us that are a tad SQL-Server Illiterate/Rusty. ( Me (@_@) )

Lines 1 thru 27 mimic OP's temporary table (provided that is the data set OP has in Post#3

Then Line 29 forward starts the pseudo-ranking and the CTQ.

Lines 38 thru 56 are the ranking sub-query within the outer CTQ

Am I following this correctly?


(would be nice to be able to a declare clause in Access... would make my life soooo much easier! )
Oct 27 '15 #11
Rabbit
12,516 Expert Mod 8TB
Yes, that's correct. You can ignore all the SQL related to the SQL Server version of cross tab. The key part is the ranking query to number the rows by the 2 groups needed for the crosstab: PhaseName and WeekdayName. That way, if there are 3 addresses for 'Rough' on a Tuesday, it gets numbered 1, 2, 3. And if there are 4 addresses for 'Rough' on a Friday, it gets numbered 1, 2, 3, 4. This allows the crosstab to group by the PhaseName and the pseudo-rank so that all the "number 1" address are on one row.
Oct 27 '15 #12
jforbes
1,107 Expert 1GB
Thanks for the lesson Rabbit. I've very little experience with this, so I took this opportunity to learn.
I converted the T-SQL (which worked great in SSMS) to a couple queries. The table needed to be created by hand and I named it ScheduleRawData so that it would make sense to me later. I also added the AreaManager to learn on and to have something to link to.

The query to create the Ranking, named ScheduleRanking2:
Expand|Select|Wrap|Line Numbers
  1. SELECT t1.AreaManager
  2.      , t1.PhaseName
  3.      , datepart("w",t1.ScheduleDate) AS DayOfWeekName
  4.      , t1.[Address], COUNT(*) AS groupRowNum
  5. FROM ScheduleRawData AS t1 
  6. LEFT JOIN ScheduleRawData AS t2 
  7. ON (t1.PhaseName=t2.PhaseName) AND (datepart("w",t1.ScheduleDate)=datepart("w",t2.ScheduleDate)) AND (t1.JobId<=t2.JobId)
  8. GROUP BY t1.AreaManager
  9.        , t1.PhaseName
  10.        , datepart("w",t1.ScheduleDate)
  11.        , t1.[Address]
The Crosstab:
Expand|Select|Wrap|Line Numbers
  1. TRANSFORM Max(ScheduleRanking2.Address) AS MaxOfAddress
  2. SELECT ScheduleRanking2.AreaManager
  3.      , ScheduleRanking2.PhaseName
  4. FROM ScheduleRanking2
  5. GROUP BY ScheduleRanking2.AreaManager
  6.     , ScheduleRanking2.PhaseName
  7.     , ScheduleRanking2.groupRowNum
  8. PIVOT ScheduleRanking2.DayOfWeekName
The Ranking is slick and it fulfills the RowNumber approach that I alluded to earlier very well.

The looping structure, if you would still need it or want it, would be written in VBA. It would open up the Raw Data with a SQL Select Statement, place the results in a RecordSet, loop trough the recordset and then logically places what records it finds into some kind of data structure that can be displayed to the user, like a Static Table in the Database, a recordset in memory, or simply some arrays. It would give you a lot of flexibility, but whether or not it is the right method for you would be your decision.

It looks like the SQL approach might be best, especially since you have some experience with it and Rabbit hooked you up. If you want to pursue the VBA looping approach, just say so.
Oct 27 '15 #13
zmbd
5,501 Expert Mod 4TB
Rabbit:
The key part is the ranking query to number the rows by the 2 groups needed for the crosstab: PhaseName and WeekdayName.
Well, at least I understood what I was looking at :D

I had the WeekDayName and the PhaseName; however, I was looking at another table to related these two togeither, I had looked at your Ranking Article due to the traffic in it as of late... should have taken that as hint from the either!

As usual, learned something new from you!

@Hat2boots
Please let us know how you progress with this project - especially if you need any more help. If Rabbit's post solves the issue, please remember to select it as "Best Answer"


Thank you for asking the question!

-z
Oct 27 '15 #14
Rabbit
12,516 Expert Mod 8TB
I have found that the ability to number rows have many uses outside the normal use of ranking rows. Especially when it comes to collapsing data and doing historical comparisons.

One assumption of the SQL is that JobId is unique among all the rows in the dataset.
Oct 27 '15 #15
zmbd
5,501 Expert Mod 4TB
Rabbit, absolutely, I will have to keep the RQ in mind... starting to wonder how many of my designs have been over complicated because I have not used this method. So obvious now that I've seen it done - took me more time to import the dataset than to type in the SQL, I feel a tad... maybe it's the old age starting to set in? :)

The JobID is one thing that was throwing me, amongst other distractions today. I just assumed it would be unique thru the job phases.

Attached is one version of the database based on Rabbit's post.

One thing I noted, in Access, DatePart("w",[datefield]) will return the numeric weekday value. I used the Format([datefield],"ddd") to return the short name for the weekdays in the attached file. :)
Attached Files
File Type: zip Bytes_964578_CrosstabWorkSchedule.zip (48.9 KB, 71 views)
Oct 27 '15 #16

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Luca | last post by:
Hi, have a problem with xslt posted below, this stylesheet format a table like Yahoo directory, but I need exclude (from xslt) all categ element without sublink element (in this case category...
0
by: Thierry Lefevre | last post by:
Hi, I have a printing problem with a crystal report. In fact, I have defined by default on my default printer a specific paper format (8,5" x 5,5"). The report was created with this printer...
0
by: Bill Nguyen | last post by:
Please forgive me for cross posting. I hope I can get the answer from either NG. I was able to export a CR report to PDF to MAPI (using Outlook client) , but not with HTML format from a .NET...
4
Shakss2
by: Shakss2 | last post by:
Hello all, I have a table name "info" which looks like, ProjectID Consultantname 1 Alpha 1 Beta 1 Charlie 2 James 2 ...
4
by: minchazo | last post by:
I'm using Access 2003. I'm using a control button in a table (tblReport) to open a weekly report. The report has to run for four separate sites, all stored in tables together. I can create a...
3
by: Connell | last post by:
I have an Access 2003 report that has multiple calculated values. Now I need to use one of those values in a subform. Is there a technique in Access similar to SetValue so a calculated report...
1
by: gdk1977 | last post by:
How would you make multi page reports for a table with 40 columns so that only part of the info is shown with tabs, or buttons to see different sections of the report. i.e. name of facility, contact...
1
by: bullfrog83 | last post by:
I have a form that contains parameters for a report. After the user clicks Preview I have code that set's the Where clause for the report's record source. Once the report opens I close the parameter...
1
by: mhegazy | last post by:
All, I have created a report giving the reader full and summarized views of the daily data. The detailed section of this report is being summarized underneath the report in the footer section....
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.