1

我有一份报告,我正在尝试排序,但真的不知道如何排序。我已经尝试了很多东西,但没有任何效果。

这是我的查询:

SELECT [FirstName] & " " & [LastName] AS Contributor, PledgeAmountRecd, tblPledgesLead.PhoneNumber, FirstName, LastName, Address1, CityName, ZipCode, DateRecd, CCur([PledgeAmountRecd]) AS Pledge
FROM tblContributorsLead INNER JOIN tblPledgesLead ON tblContributorsLead.PhoneNumber=tblPledgesLead.PhoneNumber
ORDER BY [FirstName] & " " & [LastName], tblPledgesLead.DateRecd DESC;

基本上我需要报告根据最近的付款对每个贡献者进行排序。请注意,在此示例输出中,对于每个贡献者,都有一个从最近到最旧排序的付款历史列表。总体而言,每个贡献者都按最近支付日期的顺序排列;即,最近付款日期为 2013 年 9 月 19 日的每个人都将在一起,然后随着时间的推移,我们将 9/18/2013 作为最近的日期,依此类推。

Amanda Hugginkiss
5552224321
$50 9/19/2013

Johnny Appleseed
5552221234
$20 9/19/2013
$15 8/9/2013

Jake Thesnake
5552229876
$20 9/19/2013

Moe Noe
5552226789
$10 9/18/2013
$15 3/1/2013
$10 11/15/2012

Hann Solo
5552223434
$20 9/18/2013
$20 1/22/2013
$15 7/6/2012
$10 1/4/2012

目前它的输出是这样的:

Tom Smith
5552221111
$20 8/23/2013

Jim Jones
5552223333
$20 9/17/2013
$15 4/5/2013

Joe Blow
5552229999
$20 9/4/2013
$20 3/1/2013

Hector Gonzales
5552228888
$15 8/29/2013

正如您在当前输出中看到的那样,这些都是乱序的。最后,它们应该看起来像上面发布的第一个示例。

这是我的数据库的精简副本:http: //icloudbackups.com/s3.zip

4

2 回答 2

1

这是我将如何处理它:

我会根据 [tblPledgesLead] 表创建一个名为 [Contribution_subreport] 的报告。它将显示 [PledgeAmountRecd] 和 [DateRecd],按 [DateRecd] 降序排序(最近的在前)。

然后我会创建一个名为 [Contribution_report] 的报告。这Record Source将是查询...

SELECT 
    tblContributorsLead.PhoneNumber, 
    Max([tblContributorsLead].[FirstName] & " " & [tblContributorsLead].[LastName]) AS Contributor, 
    Max(tblPledgesLead.DateRecd) AS MaxOfDateRecd 
FROM 
    tblContributorsLead 
    INNER JOIN 
    tblPledgesLead 
        ON tblContributorsLead.PhoneNumber = tblPledgesLead.PhoneNumber 
GROUP BY tblContributorsLead.PhoneNumber; 

...它将包含三个控件:

文本框:[Contributor]
文本框:[PhoneNumber]
子报告:[Contributions_subreport]

子报告将通过 [PhoneNumber] 链接到主报告...

子报表.png

...并按 [MaxOfDateRecd](降序)和 [Contributor] 排序...

排序.png

最终报告如下所示:

结果.png

于 2013-10-04T09:59:02.283 回答
0
    SELECT [FirstName] & " " & [LastName] AS Contributor, PledgeAmountRecd,
           tblPledgesLead.PhoneNumber, FirstName, LastName, Address1, CityName,
           ZipCode, DateRecd, CCur([PledgeAmountRecd]) AS Pledge
    FROM tblContributorsLead 
         INNER JOIN tblPledgesLead 
                    ON tblContributorsLead.PhoneNumber=tblPledgesLead.PhoneNumber
    ORDER BY tblPledgesLead.DateRecd, Contributor DESC;

我希望这有效:)

于 2013-10-04T07:24:01.280 回答