You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access连续表单:如何按标准数字格式筛选成本范围记录?

Access查询:修复成本范围筛选失效问题

库存表结构

product_groupdimensioncost
TI8x45000
WN2000
YS7x925000
ST10x158000

问题场景

已创建查询stocksListQ,并基于该查询制作表单findStocks,表单内添加两个文本框:

  • CostMinSearch:默认值0,用于输入成本下限
  • CostMaxSearch:默认值9,999,999,用于输入成本上限

当前给cost字段设置的筛选条件为:

Between [Forms]![findStocks]![CostMinSearch] And [Forms]![findStocks]![CostMaxSearch]

但无论在文本框输入什么值,查询都会返回所有记录,无法正确筛选成本范围内的条目。

修复方案

问题根源是默认值9,999,999带逗号,属于文本格式,和数字类型的cost字段比较时出现类型不匹配,导致筛选条件失效。将cost字段的条件修改为以下SQL语句即可:

Between Val(Nz([Forms]![findStocks]![CostMinSearch], 0)) And Val(Nz([Forms]![findStocks]![CostMaxSearch], 9999999))

语句说明

  • Nz():若文本框为空,自动用括号内的默认值替代(下限用0,上限用9999999)
  • Val():将文本框输入内容强制转换为数字类型,确保和cost字段(数字类型)正确比较

测试验证

  • 当CostMinSearch输入3000、CostMaxSearch输入9000时,查询仅返回TI、ST两条记录
  • 当CostMinSearch输入1000、CostMaxSearch输入3000时,查询仅返回WN一条记录

内容的提问来源于stack exchange,提问作者Max Kentwell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:05:01