Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 相当于Crystal Reports中的WHERE子句_Sql_Crystal Reports_Where - Fatal编程技术网

Sql 相当于Crystal Reports中的WHERE子句

Sql 相当于Crystal Reports中的WHERE子句,sql,crystal-reports,where,Sql,Crystal Reports,Where,这个水晶报告程序被扔在我的膝上,我对它是全新的。我理解这个概念,但我在这里遇到了麻烦 还有一个类似的问题: 但它和答案都指向(似乎是)“总计”列,而我只想在其中一列(在本例中,如果“CostType”等于0)时显示行 我从两个数据表中读取数据来创建此报告。它们通过公共列名(ItemKey)连接。不幸的是,在第二个表中,同一项有多条记录。我只想要CostType为0的项目 这在SQL中非常简单,即使对于像我这样的初学者来说也是如此,但我不知道如何用Crystal Reports有效地说:“仅在C

这个水晶报告程序被扔在我的膝上,我对它是全新的。我理解这个概念,但我在这里遇到了麻烦

还有一个类似的问题:

但它和答案都指向(似乎是)“总计”列,而我只想在其中一列(在本例中,如果“CostType”等于0)时显示行

我从两个数据表中读取数据来创建此报告。它们通过公共列名(ItemKey)连接。不幸的是,在第二个表中,同一项有多条记录。我只想要CostType为0的项目

这在SQL中非常简单,即使对于像我这样的初学者来说也是如此,但我不知道如何用Crystal Reports有效地说:“仅在CostType为0时显示项目”

项目成本表(示例):

项目表(示例):


结果是:

Item         Description     Mode  
Box          Whatever        EE 
Square       Random          AB 
Circle       Unimportant     GE
我想展示的是:

Item         Description     Mode  
Box          Whatever        EE 
Square       Random          AB 

我希望这一切都有意义。基本上,如果这是一个SQL查询,我会在最后说“WHERE CostType=0”,我不会得到所有其他具有不同成本类型的项目

我应该提到,这完全由Crystal Reports处理。我没有使用SQL字符串并传入它或其他东西。显示窗口的功能如下:

    Dim PartsDemandReport As CrystalDecisions.CrystalReports.Engine.ReportDocument = New crptIndentedBomXLBom
    PartsDemandReport.SetDataSource(GLOBAL_VARIABLES.GlobalBomIndented)

    Dim CrystalReportViewerForm As New frmCrystalReportViewer
    CrystalReportViewerForm.CrystalReportViewer1.ReportSource = PartsDemandReport
    CrystalReportViewerForm.Show()
    PartsDemandReport = Nothing

如果有办法简单地强制Crystal Reports添加“WHERE CostType=0”,那就太好了。提前感谢。

有两种方法可以做到这一点:

  • 如果您不需要整个报告中的
    CostType不等于0
    ,那么您可以直接输入
    select expert
    ,它充当crystal报告的
    where子句
  • 示例:

    转到
    Report-->Selection Formula-->Record
    在下面的添加行中打开此公式窗口

    CostType = 0
    
    这将确保仅从数据库检索成本类型=0

    2.如果您需要
    成本类型0
    报告中的任何位置。然后为
    项目
    说明
    模式
    列添加以下条件

    示例

    @Item:
    
    if cost type = 0 
    then <<Database Item field >>
    
    @项目:
    如果成本类型=0
    然后
    
    将其放置在“项目”列的“详细信息”部分


    其他栏目也是如此。

    非常好。非常感谢你。今天是休息日,但只要我能回到办公室,我就会试试这个。Np@Keith。。。如果你遇到任何问题,请告诉我。经过一个漫长的周末,我终于回到了办公室。我尝试了您的解决方案,但有一个调整:将“CostType=0”作为“记录选择”放在“组选择”下是行不通的。你不知道你为我节省了多少时间。非常感谢你!如果我有15个必须投票的人,我会投票@基思。。。没问题。。。我很高兴问题解决了。。。很高兴一直帮助你。。。不要将您的条件放在
    下,而是将您的条件放在另一个可用的选项上,即
    记录
    知道为什么组会做想要做的事情而不是记录吗?
    CostType = 0
    
    @Item:
    
    if cost type = 0 
    then <<Database Item field >>