我的系统有一个订单数据库表(Sales Lines
)和一个存储客户地址(Customer_Addresses
)的表。每个客户最多可以有10个地址。
我需要创建Crystal Reports以获取指定日期范围之间的所有订单,其中客户位于所选国家/地区。例如英国01/01/2016
- 31/12/2016
之间。
我考虑从Country = selected_country
中选择Customer_Addresses
的所有地址代码,然后将结果存储在DataTable
中。然后我会使用{Sales Lines.Order_Date} >= myDate AND {Sales Lines.Order_Date} <= myOtherDate AND {Sales Lines.Address} = (One of the codes within the DataTable)
在{Sales Lines.Address} =
之后,我需要使用哪些代码来搜索Sales Lines.Address
中的地址代码也存储在我从DataTable
中选择时创建的Customer_Addresses
中的地址代码?< / p>
答案 0 :(得分:1)
Crystal Reports具有针对此类任务的简单功能:
只需从Sales Lines
加入Customer_Adresses
即可。
现在,您可以直接设置日期过滤器和国家/地区过滤器。
如果同一订单的多个客户地址与国家/地区代码匹配,则您的数据中将包含重复项。但这没问题。 Crystal Reports可以选择强制执行不同的数据。只需在数据库菜单中激活此选项(它将在SQL中使用DISTINCT
)...