【问题标题】:MSAccess- Update all the records from a textboxMSAccess - 更新文本框中的所有记录
【发布时间】:2017-06-14 11:55:55
【问题描述】:

我有一个接受日期的表单中的文本框,我必须使用文本框中的值更新表中的所有记录,即所有记录的日期字段中应该更新相同的值,..怎么办?

【问题讨论】:

  • 您只需要执行一个将更新日期字段的查询。所以像UPDATE Table1 SET MyDate = [Forms]![Form1]![MyTextBox].
  • 在哪里使用该查询?我在该表单中有一个名为“提交”的按钮,如果单击该按钮,则文本框中的值应更新为表中所有记录的日期字段。
  • 像在查询设计中一样创建查询(要在 SQL 中创建一个新查询,当它询问时不要添加任何表,然后单击设计功能区中的 SQL 按钮)。在按钮后面的“点击”事件代码中输入DoCmd.OpenQuery "QueryName", acViewNormal,或者另一种方法是不创建查询,只需在按钮后面输入代码DoCmd.RunSQL "<SQL from my first comment>"
  • 按钮已经执行了一个保存记录宏。如何使按钮也运行这个查询。
  • 删除保存宏并添加 VBA 代码。 If Me.Dirty Then Me.Dirty = False 将在需要保存时保存记录(另一种选择是 DoCmd.RunCommand acCmdSaveRecord 将保存记录,无论是否需要保存),所以将其作为第一行。然后把DoCmd.RunSQL...作为第二行。

标签: database ms-access ms-access-2010 ms-access-2013 ms-access-2016


【解决方案1】:

另一种只用一行代码执行更新查询而没有警告的方法是执行以下操作:

CurrentDB.Execute "UPDATE tblMyTableName SET MyDateFieldInQuestion=" & MyTextBoxName.Value & ";"` 

CurrentDB.Execute 不显示警告,所以在我看来它更干净一些。这样您就不必担心忘记重新打开警告(您会想要的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多