sql
  • ms-access
  • vbscript
  • 2016-07-28 64 views -1 likes 
    -1

    我想在Access中使用SQL更新VBScript中的表。我有2個引用2個表的語句。第一個聲明有效,第二個聲明不起作用。兩者的唯一區別是一個字段名稱,我無法弄清楚什麼是錯誤的。我一直在爲此工作6個小時。任何人都可以協助SQL /訪問更新

    這工作

    DB.Execute "UPDATE tblDEBIT20 SET CONTROL = '" & strControl & "' WHERE DEBIT_NUM = '" & strDebit & "'" 
    

    這不

    DB.Execute "UPDATE tblDEBIT20 SET CURRENTNAME = '" & strCurrent & "' WHERE DEBIT_NUM = '" & strDebit & "'" 
    

    我得到的錯誤是

    沒有爲一個或多個必需的參數給定值。

    +0

    strControl和strCurrent的值是什麼? –

    +0

    在這裏搜索* [ms-access]沒有給出一個或多個必需參數*的值,用於查找已經回答的數十個以前的問題。任何關於爲什麼SQL不起作用的問題都需要包含數據庫的模式(列定義),包括列數據類型。最有可能的是,你引用了一些不需要引用的內容,或者不引用應該引用的內容;但是,不可能告訴你,因爲你沒有提供你的問題中的信息。 –

    +0

    我無法給出確切的值,但strControl是一個22個字符的20個數字和2個字母值,當前名稱是某人的名字。兩者都設置爲255個字符的文本字段。 – jmp

    回答

    0

    我認爲肯和羅伯特所提出的觀點是,你很有可能在它的名字中帶有撇號。你可以用別的東西來替換所有的單引號(')或者嘗試另一個引號分隔符。

    看看這是否適合你(雙引號內使用雙引號)

    DB.Execute "UPDATE tblDEBIT20 SET CURRENTNAME = """ & strCurrent & """ WHERE DEBIT_NUM = """ & strDebit & """" 
    

    在未來調試你一個提示 - 執行命令前加上一個Debug.Print strCurrent - 那麼當它失敗時,你可以很容易地看到的問題是什麼 - 或者至少告訴我們,什麼樣的價值它失敗了。

    相關問題