2012-04-07 89 views
1

在MS Access中使用VBA,有没有一种方法可以将字符串中的所有特殊字符替换为ASCII等效字符?换句话说,我希望和号消失,并用&以及其他所有特殊字符替换。特殊字符到ASCII

PHP的等效值为HTMLSpecialChars。我的插入内容中有分号,可能会炸毁我的查询。我需要转换为分号以清理我的文本以插入。

+0

嗯,&符号是完全有效的ASCII字符,没有什么特别的。至少不是ASCII。 – RBarryYoung 2012-04-07 22:27:43

+0

我认为你在这里真正要求的是HTML Entitization之类的东西吗? – RBarryYoung 2012-04-07 22:29:13

+0

一个PHP等价物是HTMLSpecialChars。我应该更具体到我的问题...我的插入可能炸毁我的查询分号。我需要转换为分号以清理我的文本以插入。 – Ben 2012-04-08 01:07:34

回答

1

与Access 2000启动Replace Function是在Access VBA可用。

? Replace("a&v", "&", "&") 
a&b 

您需要为要替换的其他字符重复该函数模式。

但是,如果这是为了防止炸毁INSERT语句,它可能是一条红色鲱鱼。只要插入的文本被正确引用或作为参数提供给参数查询,您应该可以将包含分号或符号的文本插入到文本字段中。这两个语句对我成功执行。

CurrentDb.Execute "INSERT INTO MyTable (MyText) " & _ 
    "VALUES ('a&b')" 
CurrentDb.Execute "INSERT INTO MyTable (MyText) " & _ 
    "VALUES ('a;b')" 

它可以帮助向我们展示了发生故障的INSERT语句在SQL与导致它炸毁文本的一个简单的例子。同时告诉我们错误信息,如果有的话。请将SQL粘贴到您的问题中,而不是发表评论。