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

问题描述

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

我还有另一个表(Trend001),可以使用来自液压测试机的实际测试数据以及正在测试的“零件编号”和当前的“时间标记”实时更新。

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

这样,用户可以知道零件的上一次测试。

我在Stackoverflow上发现了这一点,但是我对将其应用于我的项目的语言了解不足。

Updating existing records and adding new records in table (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;

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...