首页 文章

根据Access中不同表中其他两个字段中的值更新主表

提问于
浏览
1

我正在尝试从另一个表更新名为 Link_pipe_type 的主表字段 . 我想用if条件更新 Link_pipe_type ,如果链接20为空,则 link_pipe_type 必须由link_pipe_50字段更新,否则由link_pipe_20更新 . 这是我的更新查询:

UPDATE
    tbl_Draftersreport_upload 
    INNER JOIN tbl_MASTER_List 
        ON tbl_Draftersreport_upload.Ref_ID = tbl_MASTER_List.Ref_ID
    SET
        tbl_MASTER_List.Link_pipe_type = IIF(
            ([tbl_Draftersreport_upload].[Link Pipe 20])="",
            ([tbl_Draftersreport_upload].[Link Pipe 50]),
            ([tbl_Draftersreport_upload].[Link Pipe 20])
);

我仍然无法使用值更新主表 . 错误:

由于验证规则违规导致类型转换失败,Microsoft Access未更新13个字段 .

需要帮忙!挣扎了2天 . 提前致谢

1 回答

  • 0

    你可以尝试这个:(检查为null)

    UPDATE
    tbl_Draftersreport_upload 
    INNER JOIN tbl_MASTER_List 
        ON tbl_Draftersreport_upload.Ref_ID = tbl_MASTER_List.Ref_ID
    SET
        tbl_MASTER_List.Link_pipe_type = IIF(
            IsNull([tbl_Draftersreport_upload].[Link Pipe 20]),
            ([tbl_Draftersreport_upload].[Link Pipe 50]),
            ([tbl_Draftersreport_upload].[Link Pipe 20])
    );
    

    读取空值和空白值如下:https://www.techrepublic.com/article/learn-the-differences-between-is-null-and-isnull-in-access/

相关问题