我正在使用 Crystal Reports 2016(版本 14.2.7),我需要使用生成的名称动态访问数据库字段。我当前的公式如下所示:
Local NumberVar i;
Local StringVar fieldName;
stringvar array tmp_arr := [];
For i := 6 To 45 Do (
fieldName := "databaseName.zusatzT" + ToText(i);
tmp_arr := tmp_arr + split ({@fieldName}, "@");
// do some stuff with the splitted array
);
但是,我遇到了字段名称未知的问题。我想在动态生成字段名称的同时访问数据库字段。字段名称是大括号引用的一部分,无法识别。
如何实现水晶报表中数据库字段的动态访问? 任何指导或见解将不胜感激!谢谢你。
afaik,您需要为此使用 UFL(用户函数库),因为 Crystal 不支持动态 SQL(除了部分通过命令和嵌入参数 - 但您的情况不能使用参数处理)。
Ken Hamady 在此处维护着第 3 方 Crystal Reports UFL 列表。这些 UFL 中至少有一个允许 Crystal 公式构建和执行动态 SQL。
在 Crystal Reports 中,动态生成字段名称时无法访问数据库字段,因为 Crystal Reports 需要在设计时了解数据源结构。
如果需求很复杂并且您必须动态访问不同的字段,则可能需要 Crystal Reports 之外的编程解决方案。