天下
Lv 6
天下 發問時間: 電腦與網際網路程式設計 · 1 0 年前

執行階段錯誤 錯誤 '800a005e'

請教各位程式高手

當小弟撰寫一個ASP+ACCESS資料庫的時候,發現在新建立的資料表中,當天氣欄位的值是空的時候,執行到該行就會出現這種錯誤,該行的語法如下:

<% =Replace(sa("天氣"),vbCrLf, "<BR>") %>

且出現的錯誤如下:

Microsoft VBScript 執行階段錯誤 錯誤 '800a005e'

Null 的使用不正確: 'Replace'

如果說,每一支程式出錯就算了,但有一些是可以正常運作的

(每支程式讀取資料來自不同的資料表,但結構相同、資料型態相同,只是資料表建立的時間點不同),

請問是在那邊出了問題? 是資料表建立的過程有問題,還是在伺服器端上的權限? 或是有其它的可能因素呢?

請大大們不吝賜教,薄酬20

2 個解答

評分
  • 1 0 年前
    最佳解答

    首先先跟你離清一個觀念

    欄位的值=空 與 欄位的值=Null是不同的

    (欄位的值=空->例: abc為欄位; abc="")

    一些是可以正常運作的我想是這個abc=""

    一些是不可以正常運作的我想是abc=Null

    有2個方法可以解決

    1.於資料表內的欄位值作統一修改

    2.於<% =Replace(sa("天氣"),vbCrLf, "<BR>") %>改寫成以下

    <% =Replace(trim(sa("天氣") & ""),vbCrLf, "<BR>")

    這樣sa("天氣") 至少不會有null產生!!

    希望可以解決你的問題!!

    參考資料: 自己debug經驗談!!
  • 1 0 年前

    不好意思 我的寄信點數用完了 所以在此打擾 謝謝

    你好我看了您滿懂access的

    我想跟你請教

    我想做進出貨

    我做了子表單 代表 訂單明細

    我的庫存是用 查詢來做 進貨-出貨=庫存(是查詢的計算欄位)

    現在我在 子表單的[數量]掛上屬性vba 想要用dlookup來比較這個[數量] 比 庫存

    請問我如何在vba中呼叫這個查詢的計算欄位 或者 在vba中如何叫用巨集啊?

    謝謝

還有問題?馬上發問,尋求解答。