gpt4 book ai didi

sorting - Crystal 报表组排序顺序

转载 作者:行者123 更新时间:2023-12-02 16:13:46 25 4
gpt4 key购买 nike

我正在制作一份报告,其中将显示客户列表和一些数值。我使用一个公式来对我的组进行排序,如下所示:

if {Db.SortOrder} = 0 then
{Db.CostumerName}
else
ToText({Db.Value},'00000000',0,'')

通过这种方式,我可以按客户名称或值进行分组,问题是我需要对它们使用不同的排序顺序,当我按 CostumerName 分组时升序,当我按值分组时降序。我怎样才能做到这一点?我已经尝试使用 crAscendingOrder、crDescendingOrder 进行“按公式排序”,但它说我需要使用常量而不是变量(在我的情况下,我使用 db.SortOrder)

最佳答案

我的方法:

首先创建一个参数字段({?Sorted Field}),用于选择排序字段:String;包含“客户”和“值(value)”的静态列表;默认值为“客户”

接下来,创建一个自定义函数,将字符串转换为其 ASCII 表示形式,从而允许更改顺序:

// ASCII()
Function (Stringvar characters, Optional Numbervar direction:=crAscendingOrder)

Local numbervar i;
Local stringvar c;

For i:= 1 To Len(characters) Do (
If direction=crAscendingOrder Then
c:=c + ToText( Ascw(Mid(characters,i,1)), "#")
Else
c:=c + ToText( 256- Ascw(Mid(characters,i,1)), "#")
);

c;

接下来,创建一个用于排序的公式字段:

// {@Sorted Field}
Select {?Sorted Field}
Case "Customer": {Db.Customer}
Case "Value": ASCII(ToText({Db.Value},'00000000',0,''), crDescendingOrder)
Default: {Db.Customer}

最后,在记录排序专家中引用此字段:

enter image description here

关于sorting - Crystal 报表组排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21931846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com