簡體   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