找回密码
 立即注册

QQ登录

只需一步,快速开始

简单
金牌服务用户   /  发表于:2023-6-28 15:12  /   查看:771  /  回复:3
1金币
RT,在订单明细表中添加商品信息时,同一个订单明细子表不允许选择重复物品,该如何进行实现

最佳答案

查看完整内容

结合需求,有几个点需要确认 1.以什么维度来判断商品是否被选择,是商品名称还是商品编号 2.因为需要在新增行下拉选择的时候就去过滤,所以逻辑需要做到前端页面上 结合以上确认的点,需要了解两个实现逻辑 1.如何获取当前已经选择过的商品名称 实现方式:使用TEXTJOIN函数 https://support.microsoft.com/zh-cn/office/textjoin-%E5%87%BD%E6%95%B0-357b449a-ec91-49d0-80c3-0e8fc845691c?ui=zh-cn&rs=zh-cn&ad=cn 2.组 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-6-28 15:12:12
来自 2#
本帖最后由 Eric.Liang 于 2023-6-28 16:46 编辑

结合需求,有几个点需要确认
1.以什么维度来判断商品是否被选择,是商品名称还是商品编号
2.因为需要在新增行下拉选择的时候就去过滤,所以逻辑需要做到前端页面上

结合以上确认的点,需要了解两个实现逻辑
1.如何获取当前已经选择过的商品名称
实现方式:使用TEXTJOIN函数
https://support.microsoft.com/zh-cn/office/textjoin-%E5%87%BD%E6%95%B0-357b449a-ec91-49d0-80c3-0e8fc845691c?ui=zh-cn&rs=zh-cn&ad=cn
2.组合框如何过滤掉已经选择的商品名称
使用查询条件中的“不在里面”,效果和sql中not in一致

实现步骤
1.通过页面隐藏单元格,获取已经选择的所有商品,使用“,”连接



2.组合框设置查询条件即可


注意:如果想应用以上的效果,组合框需要把仅能选择输入反勾选





具体的工程文件见附件,可以参考下实现思路




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
attachment
初级会员   /  发表于:2023-6-28 18:13:15
3#
本帖最后由 attachment 于 2023-6-28 18:15 编辑

如楼上大佬所说,我提供另外一种实现思路:
在用户选择数据是不做任何限制,也就是说不需要设置项目查询,在提交时再给用户提示;

首先依然使用TEXTJOIN函数来讲已选择的商品拼接起来,不过我们将拼接用的字符放到其他的单元格中;

我们安装字符串去重的插件,在提交按钮的命令中,使用这个命令,并分别设置分隔符和去重后的字符串,同时按照插件的要求,将去重后的单元格设置为文本框类型

之后我们只需要判断去重之前的字符串和去充值后的字符串是否相等,如果不相等,弹出提示框提示用户就可以了,效果如下:



手动分割线---------------------------------------------------------------------------------------------------------------------

延伸一下,在多次录入数据之后,如果想要在汇总功能中实现重复商品只显示最后一次录入的数据以及出现的次数,该如何实现呢?

如图,我们需要手动创建一个视图

在页面中直接绑定这个视图就是先啦

工程文件如下:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Shawn.Liu + 5 赞一个!

查看全部评分

回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-6-28 18:21:02
4#
attachment 发表于 2023-6-28 18:13
如楼上大佬所说,我提供另外一种实现思路:
在用户选择数据是不做任何限制,也就是说不需要设置项目查询, ...

感谢大佬的Demo和新的思路,楼主可以参考下版主和格友的方案
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部