【问题标题】:Update query only updating data with first letter of new value更新查询仅使用新值的第一个字母更新数据
【发布时间】:2020-01-12 20:43:27
【问题描述】:

在 Access 数据库中,我正在尝试运行更新查询,将 Y/N 修复为是和否。这是通过 VBA 完成的。

我通过将它放在查询编辑器中检查了我在 VBA 中编写的查询,我得到了类似的结果。

在 VBA 中,我运行以下命令

db.Execute "Update tblChecks Set NCR = 'No' where NCR = ' ' or NCR is null"

这会将所有空白和空记录更新为“N”而不是“No”

没有产生错误消息,查询运行,但它只采用我在 Set 条件中放入的任何内容的第一个字母。我已经用“是”和“测试”等其他标准对此进行了测试,在这些行中分别得到“Y”和“T”。

【问题讨论】:

  • 你的 NCR 数据库长度是多少?
  • 1.. 更有意义。谢谢!我很惊讶,因为它是短文本,而且我认为它从来没有达到 1 作为字段长度。是否有一种简单的方法可以更新所有短文本字段以使短文本具有最大大小?我正在尝试考虑这样做的可能缺点,但我真的不知道是否有任何缺点。
  • 更新所有字段应该是一个新问题。缺点:如果您限制为小于 255 的大小,则永远不能超过该大小(例如,带有 200 个字符的城市名称),即使不是偶然。

标签: sql vba sql-update


【解决方案1】:

如果您想存储超过 1 个字符,则“NCR"”列的文本字段大小不应等于 1。

【讨论】:

    猜你喜欢
    • 2018-03-29
    • 2018-08-30
    • 1970-01-01
    • 2017-12-19
    • 2021-08-22
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多