2016-08-15 48 views
0

我試圖在我的Microsoft訪問應用程序中編寫函數以在輸入「 - 」或「null」時返回空字符串,並且輸入任何其他字符串時,應該返回原始字符串。使用VBA函數替換Microsoft Access中的文本

這是我到目前爲止有:

Public Function cleanOutput(inStr As String) 

    If inStr = "-" Or inStr = "null" Then 
     cleanOutput = "" 
    Else 
     cleanOutput = inStr 
    End If 

End Function 

但是這是行不通的。我確信這是一個非常基本的解決方案,但是我沒有使用VB編程的經驗,所以我不確定我在這裏做錯了什麼。任何幫助是極大的讚賞!!

+0

「Instr」是VB/VBA中的保留名稱。嘗試在你的函數中使用不同的變量名稱。還要將Option Explicit添加到模塊和Debug |的頂部在運行代碼之前進行編譯以發現明顯的問題 – dbmitch

+0

函數變量的debug.print將其用雙引號括起來,以確保獲得期望的結果 – dbmitch

回答

0

不太清楚什麼是「不工作」的意思,但如果「空」是指真正,你可以使用:

Public Function cleanOutput(inStr As Variant) As String 

    If Nz(inStr, "-") <> "-" Then 
     cleanOutput = inStr 
    End If 

End Function 
+0

「null」不是真正的Null值。 「null」是我的數據庫在某些字段中保存的文本字符串。 – Chris

+0

然後你的功能將按原樣工作。其他事情正在發生。 – Gustav

0

我從INSTR改變的變量名稱到別的東西,一切工作正如所料!

相關問題