繁体   English   中英

如何使用 MS Access 中的 VBA 使用另一个表中的数据更新单个记录的单个字段

[英]How do I update a single field of a single record with data from another table with VBA in MS Access

在 MS Access 中,我有一个名为“产品”的表。 它包含质量测试参数,以及“Part_No”和“Last_Test_Date”字段。 “Last_Test_Date”字段是特定产品的最后一次测试时间。

我有另一个表(Trend001),它使用来自液压试验机的实际测试数据以及正在测试的“Part_No”和当前的“Time_Stamp”进行实时更新。

我想使用“Trend001”表中的“Time_Stamp”更新正在测试的特定“Part_No”的“Last_Test_Date”。

这样用户就可以知道该部件的最后一次测试时间。

我在 Stackoverflow 上找到了这个,但我对语言的了解还不够,无法将它应用到我的项目中。

更新现有记录并在表中添加新记录 (MS Access VBA)

'''

Public Sub UpdateExistingRecords()
    On Error GoTo ErrTrap
    Dim rs As DAO.Recordset

    Set rs = CurrentDb().OpenRecordset("SELECT * FROM tblTempData", dbOpenSnapshot)
    Set rsCommon = CurrentDb().OpenRecordset("SELECT * FROM tblCommon", dbOpenDynaset)

    Dim idx As Long
    For idx = 1 To rs.RecordCount
        If ExistsInCommon(rs![Item ID]) Then
            If Not Update(rs) Then
                MsgBox "Failed to update.", vbExclamation
                GoTo Leave
            End If

'''

您不需要 VBA 进行更新,只需使用 SQL 更新即可。 此 SQL 将更新 Trend001 表中存在的 Products 表中的所有部分。

UPDATE Products INNER JOIN Trend001 ON Products.Part_No = Trend001.Part_No
SET Products.Last_Test_Date = Trend001.Time_Stamp;

请 - 请记住在运行此更新之前备份您的数据库。 一个小错字可能会删除您的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM