2015-10-15 49 views
0

我有一個包含特殊字符(é,ä等等)的許多列的Access數據庫。如何使用下面的私有函數將這些字符一次更改爲多個列中的html代碼?在Access中更新特殊字符到html代碼

Private Function EncodeString(strOriginal as string) as string 
Dim strTemp as string 
strTemp = strOriginal 
strTemp = Replace(strTemp, "ó", "ó") 
strTemp = Replace(strTemp, "á", "á") 
--- 
EncodeString = strTemp 

端功能

回答

1

你讓你的函數Public代替Private和使用更新查詢。

UPDATE myTable 
SET Field1 = EncodeString([Field1]), 
    Field2 = EncodeString([Field2]), 
    Field77 = EncodeString([Field77]) 
WHERE foo = bar 

您可能會考慮聲明strOriginal as Variant,以便它可以處理NULL值。

+0

感謝安德烈, 我做的是: - 發了CLAAS模塊上面的代碼,並把它命名爲「Encodestring」 - 專爲測試在一列的更新查詢: 「UPDATE [測試snaren-klaar] SET [test-snaren-klaar]。[元描述(default_fr)] = EncodeString([test-snaren-klaar]![元描述(default_fr)]);「 - 如果我嘗試運行此查詢,我收到一條錯誤消息:「該表達式包含一個未定義的函數EncodeString」 你能告訴我我做錯了什麼嗎? – user5449444

+0

@ user5449444:您必須在標準模塊中具有「Public Function EncodeString」,而不是在類模塊中,否則查詢無法找到它。 – Andre

+0

對不起安德烈,我如何讓它成爲一個標準模塊?試過了,但它在函數下不可見。對不起......知道如何創建表格和查詢,但這對我來說是新的:-) – user5449444