找回密码
 立即注册

QQ登录

只需一步,快速开始

不会游泳DE鱼

注册会员

2

主题

7

帖子

23

积分

注册会员

积分
23
  • 137

    金币

  • 2

    主题

  • 7

    帖子

最新发帖
不会游泳DE鱼
注册会员   /  发表于:2022-2-28 10:11  /   查看:1933  /  回复:5
3金币
本帖最后由 不会游泳DE鱼 于 2022-2-28 14:27 编辑

参数:
       数据类型有字符串型:大区,有日期型:开始时间、结束时间,我该如何修改
问题:
       进去没有任何数据展示出来,数据库表中有数据

查询语句:
       select * from 销售明细 where  (销售大区 like concat('%',@大区,'%') or @大区='')  and  (创建时间 >= @开始时间 or @开始时间 = null) and (创建时间 <= @结束时间 or @结束时间 = null)




5 个回复

倒序浏览
Bella.YuanWyn认证
超级版主   /  发表于:2022-2-28 15:35:29
沙发
您好,您的开始实际和结束时间默认有范围吗?如果有范围的话可以给参数加默认日期。
回复 使用道具 举报
不会游泳DE鱼
注册会员   /  发表于:2022-2-28 16:14:35
板凳
Bella.Yuan 发表于 2022-2-28 15:35
您好,您的开始实际和结束时间默认有范围吗?如果有范围的话可以给参数加默认日期。

没有,进去就展示全部数据
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-2-28 20:18:46
地板
您好,试试这样写:
select * from 销售明细  where  (@大区=''  or 销售大区=@大区 )   and (@开始日期='' or  订购日期>=@开始日期)    and  (@结束日期='' or  订购日期<=@结束日期)
image.png158101195.png

查询参数加个判断:{IIF(IsNothing(@开始日期), "", @开始日期)}
回复 使用道具 举报
不会游泳DE鱼
注册会员   /  发表于:2022-3-1 13:21:21
5#
James.Lv 发表于 2022-2-28 20:18
您好,试试这样写:
select * from 销售明细  where  (@大区=''  or 销售大区=@大区 )   and (@开始日期=' ...

这是我修改的: DB75DF67-7513-4dca-937F-DCA2436218BF.png
报这个错:
image.png969485473.png
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-3-1 17:59:04
6#
您好,您试一下下面这种方式:1)新建一个数据集2,数据集2的sql只取原来数据集的日期的最小值,即只取一个最小日期,作为开始日期的默认数据;
2)结束日期的默认数据为:{today()};
3)使用sql:
  1. select * from 销售明细 where  '全选' IN (@大区)  OR 销售大区 IN  (@大区)  and  (订购日期 >= @开始日期 or @开始日期 = null) and (订购日期<= @结束日期 or @结束日期 = null)
复制代码
4)预览报表,不输入展示全部数据,输入参数值,展示参数值对应数据。
其中大区参数的设置参考下面链接:
【参数过滤】报表多值文本框使用技巧分享
https://gcdn.grapecity.com.cn/fo ... 1&fromuid=65049
(出处: 葡萄城产品技术社区)


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部