繁体   English   中英

SQL访问错误-查询表达式中的语法错误

[英]SQL Access Error - Syntax error in query expression

下面的SQL代码有什么问题:

INSERT INTO tbl_HAMP_Actions ( Loan_ID, Action_ID, Event_User, Event_Time, Event_Station, Reason_ID )
VALUES(3238, 3, 'CONTROL', Now(), 'CONTROL', (SELECT tbl_Reasons.Reason_ID
FROM tbl_Reasons
WHERE tbl_Reasons.Reason = 'Incorrect Information'));

我认为您不能将子查询用作Access中的值。 尝试以下方法:

INSERT INTO tbl_HAMP_Actions ( Loan_ID, Action_ID, Event_User, Event_Time, Event_Station, Reason_ID )
SELECT 3238, 3, 'CONTROL', Now(), 'CONTROL', Reason_ID
FROM tbl_Reasons
WHERE tbl_Reasons.Reason = 'Incorrect Information'
    (SELECT tbl_Reasons.Reason_ID
FROM tbl_Reasons
WHERE tbl_Reasons.Reason = 'Incorrect Information')

代码的这一部分可以返回多个行吗? 如果是这样,那么它将失败。

我认为查询看起来像这样可能会更好:

INSERT INTO tbl_HAMP_Actions 
    (
        Loan_ID, 
        Action_ID, 
        Event_User, 
        Event_Time, 
        Event_Station, 
        Reason_ID 
    ) VALUES (
        3238, 
        3, 
        'CONTROL', 
        Now(), 
        'CONTROL', 
        DLookup("Reason_ID","tbl_Reasons","Reason = 'Incorrect Information'")
    )

暂无
暂无

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

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