sql
  • excel
  • vba
  • 2013-11-27 34 views 0 likes 
    0

    我有錯誤味精「在條件表達式的數據類型不匹配。」當我嘗試使用下面SQL UPDATE語句不工作(失配誤差)

    Call Connect_to_db 
    strSQL = "UPDATE StockTable " & _ 
         "SET [Selected] = '" & Sheets("InfoStockDes").Range("e" & x) & "' " & _ 
         "WHERE [OwnerName] = '" & Sheets("InfoStockDes").Range("a" & x) & "' " & _ 
         "AND [OwnerShipMethod] = '" & Sheets("InfoStockDes").Range("b" & x) & "' " & _ 
         "AND [StockName] = '" & Sheets("InfoStockDes").Range("c" & x) & "' " & _ 
         "AND [Quantity] = '" & Sheets("InfoStockDes").Range("d" & x) & "' " 
         Debug.Print strSQL 
    cn.Execute strSQL 
    Call Close_db 
    
    +1

    ,你會得到作爲此行的結果是什麼:' Debug.Print strSQL'? –

    +1

    這裏涉及哪些數據類型?我們無法嗅到你想要插入什麼樣的列的數據,並且表格中的某些數據不適合數據庫中的某個列。不知道你是如何定義數據庫的,也不知道你想要輸入什麼數據,我們只知道錯誤告訴你什麼。另外,正如我前面所問,並且@KazJaw提到,顯示strSQL的內容。 – oerkelens

    +0

    @KazJaw Debug.Print strSQL:UPDATE StockTable SET [Selected] ='True'WHERE [OwnerName] ='Ali'AND [OwnerShipMethod] ='direct'AND [StockName] ='NFK'AND [Quantity] ='2052' – SQB

    回答

    0

    好代碼,移除兩個「我的以前的答案,我也不會放在那裏瞭解更多的有關數據:)

    這shoudl工作,那麼,我猜:)

    Call Connect_to_db 
    strSQL = "UPDATE StockTable " & _ 
        "SET [Selected] = '" & Sheets("InfoStockDes").Range("e" & x) & "' " & _ 
        "WHERE [OwnerName] = '" & Sheets("InfoStockDes").Range("a" & x) & "' " & _ 
        "AND [OwnerShipMethod] = '" & Sheets("InfoStockDes").Range("b" & x) & "' " & _ 
        "AND [StockName] = '" & Sheets("InfoStockDes").Range("c" & x) & "' " & _ 
        "AND [Quantity] = " & Sheets("InfoStockDes").Range("d" & x) 
    Debug.Print strSQL 
    cn.Execute strSQL 
    Call Close_db 
    
    +0

    工作正常,非常感謝:) – SQB

    相關問題