这是一个有趣的。我正在为一家非营利组织编写一份水晶 XI 报告,该报告基于从他们的筹款数据库中导出。导出会创建一个 MDB 文件,该文件用作报告的数据源。
我的数据源中有三个表,其中一个字段包含以分号分隔的捐赠律师列表。我需要将这三个字段组合成一列不同的名称。此命令的结果将用于过滤和分组。这是表格设置和所需的输出:
表格1
多伊,约翰;能源部,简;史密斯,鲍勃
表 2
史密斯,鲍勃
表3
多伊,约翰;史密斯,鲍勃
我必须结合它来创建:
Doe、John
Doe、简·
史密斯、鲍勃
很容易,对吧?但是,我必须仅使用 SELECT 语句来执行此操作。你为什么问?
- 每次运行都会覆盖 MDB。这意味着不能将 UDF 或存储过程添加到 MDB,因为它们将在下一次导出运行期间被删除。
- 最终用户没有安装 Access,所以即使我为他们编写了一个脚本来将一个对象添加到 MDB 作为导出和我的报告之间的一个步骤,他们也无法运行它。
- Crystal 中的 SQL 命令不能声明变量,所以我不能编写游标或任何在 BEGIN 和 END 之间进行处理的东西。
- 我无法控制生成我的数据源的过程,所以我无法在那里修复它。
我不确定这是否可能在这些限制内实现,但它们是具体的。我几乎正在尝试将 UDF 保存在单独的数据库中并将 SQL 命令作为跨数据库查询运行,以便我可以利用该功能,但我不知道 Crystal 的 SQL 命令是否可以处理跨数据库查询。数据库查询。
在这些限制范围内有任何解决方案的想法吗?