2013-10-04 63 views
0

我是一個noob,通常解構其他SQL程序,以更好地幫助我理解Access編程。在三個時間範圍內的每個時間範圍內的總電話通話次數Access 2007

我有一張表(表1),其中包括其他基本信息事實,記錄收到呼叫的日期和時間。我們的辦公時間爲下午4:30至8:30。

我在學習的是如何在報告上打印出電話的次數(計數):4:30和6:29,6:30和8:29,8:30和10 :30。

它應該是這樣的報告的底部:

每班呼叫

調用計數的數目:4:30至6:29(N)
調用計數:6:30至8:29(N) 調用計數:8:30至10:30(N)

我一直在SELECT

+3

請包括您嘗試的代碼和確切的錯誤。 – showdev

回答

1

也許你已經使用了「收到錯誤信息有關的保留字計數「而沒有適當地引用它。正如showdev所說,我們需要看看你做了什麼來幫助你知道你做錯了什麼。

+0

這裏是我試圖通過「UNION」加入的兩個查詢 –

1
SELECT "4:30 PM TO 6:29 PM" AS TimeCalc, Count(Q.Call_ID) AS TotalCalls 
FROM Table1 AS Q 
WHERE Q.Call_Time >=#4:30 PM# 
AND Q.Call_Time <=#6:29 PM# 
UNION 
SELECT "6:30 PM TO 8:29 PM" AS TimeCalc, Count(Q.Call_ID) AS TotalCalls 
FROM Table1 AS Q 
WHERE Q.Call_Time >=#6:30 PM# 
AND Q.Call_Time <=#8:29 PM# 
UNION 
SELECT "8:30 PM TO 10:30 PM" AS TimeCalc, Count(Q.Call_ID) AS TotalCalls 
FROM Table1 AS Q 
WHERE Q.Call_Time >=#8:30 PM# 
AND Q.Call_Time <=#10:30 PM# 

只需更換Call_IDCall_Time你所擁有的字段名稱與表名稱替換YourTableName

下面是結果的例子,你應該看到:

enter image description here

1

你的思想工作。但是,您的方法只使用我的表中的兩個字段和查詢。但是當我試圖聯合(UNION)你的查詢到我的查詢時,我得到了錯誤信息,因爲兩個查詢都不包含相同數量的字段。

我離開我的家庭計算機,所以很遺憾我無法複製&粘貼查詢SQL,但它基本上只是表格中的所有字段,其間的條件爲間隔時間爲{開始日期]和結束日期領域。

這些人是我的表(表1)和查詢的字段:

日期,地點,來電/去電,時間,持續時間,滿意度,評論 我試着將它們添加到您的查詢,但訪問不會接受它。

再說一次,這可能是我忽略的一件非常簡單的事情。

我的報告設置爲自動顯示:根據輸入日期的計數,來電和去電的每月電話計數,來電和去電總計數,來自每個位置的電話計數;以及其他計數。

我試圖讓報告自動將總調用細分爲三部分:4:30至6:29,6:30至8:29以及8:30至10:30,如果這有助於你理解我想要做的事情。

1
PARAMETERS [Start Date] DateTime, [End Date] DateTime; 
SELECT MSys_obj.Date, MSys_obj.Location, MSys_obj[Incoming/Outgoing],MSys_obj.Duration,  
MSys_obj.Satisfaction, MSys_obj.A, MSys_obj.B, MSys_obj.C, MSys_obj.D, MSys_obj.E 

FROM MSys_obj WHERE(((MSys_obj。日期)在[開始日期]和[結束日期]之間)));

And ... 

SELECT "4:30 PM TO 6:29 PM" AS TimeCalc, Count(Q.Time) AS TotalCalls 
FROM MSys_obj 
WHERE Q.Time >=#4:30 PM# 
AND Q.Time <=#6:29 PM# 
UNION 
SELECT "6:30 PM TO 8:29 PM" AS TimeCalc, Count(Q.Time) AS TotalCalls 
FROM MSys_obj 
WHERE Q.Time >=#6:30 PM# 
AND Q.Time <=#8:30 PM# 
UNION SELECT "8:30 PM TO 10:30 PM" AS TimeCalc, Count(Q.Time) AS TotalCalls 
FROM MSys_obj 
WHERE Q.Time>= #8:30 PM# 
AND Q.Time <=#10:30 PM#; 
1

我在理解如何使用本網站時遇到了很多問題。

好吧,讓我們試着再次發佈這個問題。

這裏有兩個查詢我試圖在一份報告中使用:

PARAMETERS [Start Date] DateTime, [End Date] DateTime; 
SELECT MSys_obj.Date, MSys_obj.Location, MSys_obj.[Incoming/Outgoing], 
MSys_obj.Duration, MSys_obj.Satisfaction, MSys_obj.A, MSys_obj.B, MSys_obj.C, 
MSys_obj.D, MSys_obj.E 
FROM MSys_obj 
WHERE (((MSys_obj.Date) Between [Start Date] And [End Date])); 

SELECT "4:30 PM TO 6:29 PM" AS TimeCalc, Count(Q.Date) AS TotalCalls 
FROM MSys_obj 
WHERE Q.Time >=#4:30 PM# 
AND Q.Time <=#6:29 PM# 
UNION 
SELECT "6:30 PM TO 8:29 PM" AS TimeCalc, Count(Q.Date) AS TotalCalls 
FROM MSys_obj 
WHERE Q.Time >=#6:30 PM# 
AND Q.Time <=#8:30 PM# 
UNION SELECT "8:30 PM TO 10:30 PM" AS TimeCalc, Count(Q.Date) AS TotalCalls 
FROM MSys_obj 
WHERE Q.Time>= #8:30 PM# 
AND Q.Time <=#10:30 PM#; 

這些都是在我的表中的列,我有名字下隱藏MSys_obj;這是一個很長的故事:

來電/去電,日期,工人,來電,性別,時間,持續時間,地點,原因,A,B,C,d,E

當我嘗試使用合併這兩個查詢SQL,我得到一個關於列數不匹配的錯誤。

此外,第二個查詢不會從報告中給出正確的計數,它會顯示一個輸入字段,請求Q.Date和Q.Time,我不想要,然後顯示三個不同的段每個計數爲0。

再一次,我試圖讓原始報告現在額外顯示分解爲三個連續時間範圍的呼叫計數。

所有需要做的事情是拉出報告,在出現的兩個框中輸入期望的日期範圍,一個用於開始日期,一個用於結束日期,報告將顯示所有數據,包括新添加的三個時間範圍。

相關問題