我要打印一个字段为fprodcode的条码,如果fProdCode有值的时候,可以正常打印,但当fProdcode=''的时候,
却发现条形码打印出来的是“12345678”文本的条形码。1、如何控制当为空时,不打印呢。

解决方案 »

  1.   


     你在SQL裏打印的先過濾下數據集就行了 。 Filter
      

  2.   

    空值在fs2.53中就不打印啊。
    我实验的是demo中report目录中的内容:
    更改simplelist报表
    设置一个memo的字段为zip
    删除一个memo,增加一个条码控件,设置datafield=zip;这样可以看到对比效果,空值是不打印的。
      

  3.   

    打印之前可以判断一下字段是否为空吗?
    if 字段='' then
      xx.visible:=False;
      

  4.   

    估计你的字段值不是空,可能是字符类型。
    你需要
    trim([CustomerData.Customers."fprodcode"])
      

  5.   

    fr的barcode控件里有个默认值的可以在代码中写,当传入的值为空的时候,不进行打印,在frxreport的onbeforeprint事件中如果你是用fr绑定table或者query作为数据源的时候,可以在sql查询时候过滤
      

  6.   

    本人对Fastreport编程不熟啊。高人指点啊。
      

  7.   

    楼主还没解决?
    说说你的是什么数据库,表结构是什么样的(关键是fprodcode的类型)以及fastreport的版本?delphi的版本?
    你什么都不讲,怎么帮你?
      

  8.   

    我用的是Sql 2000 d2007+frp 4.3版本的。
      

  9.   

    我用FR 没出过这问题 估计
    可能你的数据库中空值 实际不是空的  或者 你的 memo设有初值
    具体没试