Access SQL 中的 Select Case 等效项是什么?

2023-12-07

我有一个查询,其中包含名为的字段期初余额 and 佣金。我想计算值佣金基于期初余额,与此类似Select CaseAccess VBA 中的块:

Select Case OpeningBalance
   Case 0 To 5000
        commission = 20
   Case 5001 To 10000
        commission = 30
   Case 10001 To 20000
        commission = 40
   Case Else
        commission = 50
End Select

但由于 Access 不允许Select Case在查询中,如何在 Access SQL 中实现我的目标?


考虑开关功能作为多个的替代IIf()表达式。它将返回表达式计算结果为 True 的第一个表达式/值对中的值,并忽略任何剩余的对。这个概念类似于SELECT ... CASE您引用的方法,但在 Access SQL 中不可用。

如果要将计算字段显示为commission:

SELECT
    Switch(
        OpeningBalance < 5001, 20,
        OpeningBalance < 10001, 30,
        OpeningBalance < 20001, 40,
        OpeningBalance >= 20001, 50
        ) AS commission
FROM YourTable;

如果您想将该计算值存储到名为的字段commission:

UPDATE YourTable
SET commission =
    Switch(
        OpeningBalance < 5001, 20,
        OpeningBalance < 10001, 30,
        OpeningBalance < 20001, 40,
        OpeningBalance >= 20001, 50
        );

不管怎样,看看你是否发现Switch()更容易理解和管理。多种的IIf()s随着情况数量的增加,情况可能会变得令人难以置信。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Access SQL 中的 Select Case 等效项是什么? 的相关文章

  • MS Access 2003 - 连接表单上相同 ID 的字段类型

    好吧 工作中的一个人有一个小的访问数据库 他用它来跟踪事情 他使用的表单已经查询了他需要的内容并在表单上生成了结果 这确实是他所需要的 有一件事是 他对每条记录都有重复项 这些记录以不同的 类型 作为字段 标识符 我称之为 这是一个例子 I
  • 使用 UNION 进行分组

    我的代码未正确分组 它仍然没有将 Reden uitstroom2 和 Reden uitstroom3 与 Reden uitstroom1 分组 计数工作正常 但在 Reden Uitstroom1 中显示重复项 例如 雷登 伊斯特鲁姆
  • SQL 作为访问表单字段的控制源

    有什么方法可以使用 SQL 填充 Access Form 的文本字段值吗 我读到不可能简单地输入 SQL 作为控制源 这是真的 谢谢你的帮助 edit 我需要执行这个查询 SELECT tblCaseIssues IssueDesc FRO
  • 将文件拖放到 Microsoft Access 中

    我在 Microsoft Access 中有一个表单 允许用户将附件上传到每条记录 我想通过让用户将文件拖放到附件字段中来使其更加用户友好 执行此操作的最佳方法是什么 我该如何执行此操作 以下是拖放 附加 文件以便与 MS Access 一
  • MS Access 2007 中 NVL 功能的替代方法是什么

    我在 MS Access 中编写了一个 SQL 查询 select NVL count re rule status 0 from validation result re validation rules ru where re cycl
  • 如何使用循环自动填充表单上的文本框?

    所以我有一个表 其中包含我试图在表单上显示的总计列表 我需要从总计表中获取 10 个总计并显示在表单上的 10 个文本框中 这10个文本框分别是 A1 A2 A3 及其使用DLookup查找 ID 字段编号 这似乎是一个语法问题Me TEX
  • MS Access 2003 - 有没有一种方法可以以编程方式定义图表的数据?

    因此 我有一些 VBA 用于获取使用表单的图表向导构建的图表 并自动将其插入到 PowerPoint 演示文稿幻灯片中 我将这些图表表单用作较大表单中的子表单 该表单具有用户可以选择的参数来确定图表上的内容 这个想法是 用户可以确定参数 根
  • MS Access DAO 连接在退出时放弃更改

    因此 我有一个 Access 表单 我在其中使用此 VBA 代码以及与 MySQL 数据库的 DAO 连接 一切都很好 但如果用户关闭表单而不单击 保存 按钮 新记录无论如何都会保存 所以我正在寻找的是 是否有任何方法可以在关闭事件时阻止将
  • 如何取消透视交叉表之类的表格?

    从 Excel 文档导入数据后 我最终得到了一个如下所示的表格 与数据透视表非常相似 EMPLOYEEID SKILL1 SKILL2 SKILL 3 emp1 1 3 emp2 2 3 emp3 1 emp4 2 3 在我的数据库中 我有
  • 强制 Access 忘记链接表的用户名和密码

    我有一个通过链接服务器连接到 SQL Server 的 MS Access 数据库 链接表是使用修改后的添加的AttachDSNLessTable程序 stConnect ODBC DRIVER stDriverName SERVER st
  • 在 VBA 中接收文件创建通知,无需轮询

    我正在编写一个与 ScanSnap 扫描仪集成的程序 ScanSnap 扫描仪不支持 TWAIN 扫描文档后 它会自动保存为 PDF 我想监视保存文件的目录 并在文件出现 并完成写入 时采取一些操作 一种简单的方法是使用 MS Access
  • 使用 powershell 在 MS-Access 中创建查询

    我需要自动从 Microsoft Access DB 中提取一些数据 数据库是由第三方提供给我的 因此我无法控制收到数据库时的内容 我需要使用 Powershell 自动从数据库中提取数据 有没有办法使用powershell在accessD
  • 输入数据库时​​拆分文本框中的文本

    当插入 MS Access 数据库 时 如何将文本框中的单词拆分或放入另一行 例如 我的文本框有这些词 ABC DEF 生长激素指数 JKL 当用户按下回车按钮时 以下单词将被插入到文本框中 但每个单词都会在一个新行中 例如 ABC 将位于
  • MS-Access 查询中的语法错误(缺少运算符)

    以下查询给了我 missing operator 语法错误 所需的输出是表中数据的组合 dbo tbl 和意见 vw 我用过的所有钥匙都存在 有任何想法吗 SELECT dbo tbl BOD fpartno AS PartNumber d
  • 有没有办法调用 VBA(MS Access 2002 或 2003)中任何控件的 BeforeUpdate 事件过程?

    在 VBA 中 我正在更改 Access 表单中的一些控件的值 我喜欢在执行此操作后运行这些控件的 BeforeUpdate 事件 因为它会检查字段之间的一致性 Private Sub ExampleProc1 Dim intCancel
  • VBA 访问:从另一个表单的代码刷新一个表单

    编辑 没关系有人帮助了我 form name recalc 或 form name refresh form main recalc 我有两种形式 主要 详细信息 在 主 表单中 我有一个在对话框中打开 详细信息 的按钮 问题是我在 详细信
  • 字典、集合和数组的比较

    我正在尝试找出字典与集合和数组相比的相对优点和功能 我发现了一篇很棒的文章here http www experts exchange com articles 3391 Using the Dictionary Class in VBA
  • 使用自定义功能区时是否可以阻止 MS Access 自动更改选定的功能区选项卡?

    当使用自定义 UI XML 文件在 Access 中添加多个自定义功能区选项卡时 每当关闭窗体时 选定的功能区选项卡都会变回第一个自定义选项卡 我们从 VBA 以编程方式加载自定义功能区 我已经创建了重现问题的 accdb http sdr
  • 为什么我应该关心压缩 MS Access .mdb 文件?

    我们分发一个使用 MS Access mdb 文件的应用程序 有人注意到 在 MS Access 中打开文件后 文件大小缩小了很多 这表明该文件是压缩的良好候选者 但我们不为用户提供执行此操作的方法 所以 我的问题是 这重要吗 我们关心吗
  • 如何获取MS Access中表的列名? [复制]

    这个问题在这里已经有答案了 如何使用查询获取MS Access中表的字段名或列名 有人可以帮助我解决这个问题吗 就像如果我有一个名为 员工 的表 我需要单独获取员工的字段名称 id 姓名 工作状态等 而不是其记录 有什么方法可以得到这个吗

随机推荐