【问题标题】:Need help modifying a large number of specific entries at once需要帮助一次修改大量特定条目
【发布时间】:2021-11-28 13:34:07
【问题描述】:

我的公司有一个大型 Access 数据库,其中列出了我们的特定客户曾经存在过的每个用户。该数据库是手动管理的。我被要求删除 500 多个用户。这意味着我必须为每个用户修改三列:

  • 状态(必须改为“已删除”)
  • 删除日期(到当前日期)
  • 修订日期(至当前日期)

显然,我不想为超过 500 个用户手动更改这些字段。要更快地完成这项工作,最简单的方法是什么?

我有需要在 Excel 中删除的用户列表。我尝试创建一个查询,在一个表中显示所有这些用户,这样我就不必对不需要修改的用户进行排序。它看起来像这样:

SELECT UserID, Status, Date Deleted, Date Revised
FROM [database name]
WHERE UserID = 'a'
OR UserID 'b'
//(and then 500+ more OR statements for each UserID)
ORDER BY UserID;

我想如果我至少可以做到这一点,至少我将拥有我需要编辑的所有用户,这样我就不必 Ctrl+ F。但这不起作用,因为它超出了 Access 中 1,024 个字符的限制。关于如何实现这一点的任何想法?

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    不要尝试将 500 多个用户 ID 值写入您的 SQL 语句。而是将 Excel 列表作为表格导入您的 Access 数据库。然后,您可以使用该 UserID 值列表来确定应更新主表的哪些行。

    UPDATE MainTable AS m
    SET m.Status = 'deleted', m.[Date Deleted] = Date(), m.[Date Revised] = Date()
    WHERE m.UserID IN (SELECT UserID FROM tblFromExcel)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多