找回密码
 立即注册

QQ登录

只需一步,快速开始

sweet27

注册会员

19

主题

54

帖子

167

积分

注册会员

积分
167
sweet27
注册会员   /  发表于:2023-8-13 12:23  /   查看:1960  /  回复:3
1金币
有没有办法能实现选了单位,查询日期范围不选的时候出来的是选了的这些单位下面的所有日期的内容?我在参数设置了可忽略,但是查询的时候显示的是没有给参数赋值
image.png319949034.png

最佳答案

查看完整内容

您好,日期类型的不能设置可不输入,您可以给对应的2个日期参数分别设置对应的默认值。比如开始日期的默认值是很早的一个日期,结束日期是很大的一个日期,然后您在sql中使用参数过滤,这样预览时查询的就是所有日期,选择日期后查询的就是对应的查询日期的值。 默认值的设置参考下图,我设置的结束日期是当天:

3 个回复

倒序浏览
最佳答案
最佳答案
Bella.YuanWyn认证
超级版主   /  发表于:2023-8-13 12:23:21
来自 4#
sweet27 发表于 2023-8-19 10:12
我的原本查询语句是
select * from test where  (单位名称  in (@单位名称 ) or '全选' in (@单位名称 )) ...

您好,日期类型的不能设置可不输入,您可以给对应的2个日期参数分别设置对应的默认值。比如开始日期的默认值是很早的一个日期,结束日期是很大的一个日期,然后您在sql中使用参数过滤,这样预览时查询的就是所有日期,选择日期后查询的就是对应的查询日期的值。
默认值的设置参考下图,我设置的结束日期是当天:

image.png928457031.png
image.png805673827.png
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-8-14 11:53:08
2#
您好,根据您的描述,需要使用动态sql,具体编写可以参考下图:
image.png150004271.png
sql:
  1. select * from 销售明细 where 支付方式=@支付方式  {IIF(IsNothing(@大区), "and 1=1", "and 销售大区='" & @大区 & "'")}
复制代码
您可以参考上面的sql根据您的实际需求修改sql就可以实现该需求。
回复 使用道具 举报
sweet27
注册会员   /  发表于:2023-8-19 10:12:35
3#
我的原本查询语句是
select * from test where  (单位名称  in (@单位名称 ) or '全选' in (@单位名称 ))  and (发行日期>=@最小时间 and 发行日期<=@最大日期 )and 到期日期>=@到期最小时间 and 到期日期<=@到期最大日期

我里面涉及了两个日期,四个相关的日期参数,发行日期和到期日期,两个日期都不想必填应该怎么写这个动态sql
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部