繁体   English   中英

VB for MS Access 在使用 INNER JOIN 时不起作用

[英]VB for MS Access not working when using INNER JOIN

代码工作不正常,在 INSERT INTO 语句错误中出现语法错误。 尝试通过 MS Access 表单中的内部联接插入数据,其中用户键入响应并选择一个按钮以将详细信息添加到新表中。 根据提供的信息,我希望它将数据插入到另一个表中,在该表中它由一个表连接以获取财务数据。

    stSQL = "INSERT INTO PO_Information " & _
        "(Partner, PO_Number, PO_Title, Cost_Center, Description, Line_1_Amt, Line_2_Amt, Date_Added, Month_Added, Year_Added, FY, Qtr, FY_Qtr, FW, FWeek)" & _
        "Select New_PO_Information.Partner, " & _
        "New_PO_Information.PO_Number, " & _
        "New_PO_Information.PO_Title, " & _
        "New_PO_Information.Cost_Center, " & _
        "New_PO_Information.Description, " & _
        "New_PO_Information.Line_1_Amt, " & _
        "New_PO_Information.Line_2_Amt, " & _
        "New_PO_Information.Date_Added, " & _
        "New_PO_Information.Month_Added, " & _
        "New_PO_Information.Year_Added, " & _
        "Fiscal_Calendar.FY, " & _
        "Fiscal_Calendar.Qtr, " & _
        "Fiscal_Calendar.FY_Qtr, " & _
        "Fiscal_Calendar.FW, " & _
        "Fiscal_Calendar.FWeek, " & _
        "From New_PO_Information INNER JOIN Fiscal_Calendar " & _
        "ON New_PO_Information.Date_Added = Fiscal_Calendar.Calendar"


    stSQL = stSQL & _
        "From New_PO_Information " & _
        "Where ((New_PO_Information.Partner)<>'') " & _
        "AND ((New_PO_Information.PO_Number)<>'') " & _
        "AND ((New_PO_Information.PO_Title)<>'') " & _
        "AND ((New_PO_Information.Cost_Center)<>'') " & _
        "AND ((New_PO_Information.Description)<>'');"

有人能告诉我我哪里出错并更正代码吗?

这里可能是这个逗号: "Fiscal_Calendar.FWeek, " & _

FROM语句前不应该有逗号。 并确保您只有一个 FROM 语句:

 stSQL = "INSERT INTO PO_Information " & _
    "(Partner, PO_Number, PO_Title, Cost_Center, Description, Line_1_Amt, Line_2_Amt, Date_Added, Month_Added, Year_Added, FY, Qtr, FY_Qtr, FW, FWeek)" & _
    "Select New_PO_Information.Partner, " & _
    "New_PO_Information.PO_Number, " & _
    "New_PO_Information.PO_Title, " & _
    "New_PO_Information.Cost_Center, " & _
    "New_PO_Information.Description, " & _
    "New_PO_Information.Line_1_Amt, " & _
    "New_PO_Information.Line_2_Amt, " & _
    "New_PO_Information.Date_Added, " & _
    "New_PO_Information.Month_Added, " & _
    "New_PO_Information.Year_Added, " & _
    "Fiscal_Calendar.FY, " & _
    "Fiscal_Calendar.Qtr, " & _
    "Fiscal_Calendar.FY_Qtr, " & _
    "Fiscal_Calendar.FW, " & _
    "Fiscal_Calendar.FWeek " & _
    "FROM New_PO_Information INNER JOIN Fiscal_Calendar " & _
    "ON New_PO_Information.Date_Added = Fiscal_Calendar.Calendar"


stSQL = stSQL & _
    " Where ((New_PO_Information.Partner)<>'') " & _
    "AND ((New_PO_Information.PO_Number)<>'') " & _
    "AND ((New_PO_Information.PO_Title)<>'') " & _
    "AND ((New_PO_Information.Cost_Center)<>'') " & _
    "AND ((New_PO_Information.Description)<>'');"

如果我创建了一个附加查询,这里是代码。 只是试图将其转换为我之前发布的 SQL 语句。

INSERT INTO PO_Information (Partner, PO_Number, PO_TItle, Cost_Center, Description, Line_1_Amt, Line_2_Amt, Date_Added, Month_Added, Year_Added, FY, Qtr, FY_Qtr, FW, FWeek ) ,New_PO_Information.Description,New_PO_Information.Line_1_Amt,New_PO_Information.Line_2_Amt,New_PO_Information.Date_Added,New_PO_Information.Month_Added,New_PO_Information.Year_Added,Fiscal_Calendar.FY,Fiscal_Calendar.Qtr,Fiscal_Calendar.FY_Qtr,Fiscal_Calendar.FW,Fiscal_Calendar.FWeek FROM New_PO_Information INNER JOIN Fiscal_Calendar ON New_PO_Information.Date_Added = Fiscal_Calendar.Calendar;

暂无
暂无

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

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