2013-07-15 41 views
0

我正在尝试使用新数据在访问表列中查找并替换“某些文本”,如下所示。查找和替换访问表列中的文本

这列数据里面的一些文字

Update table set column = Replace(column, 'some text', 'new data') 

这不符合Access数据库,有执行相同操作的另一种方式?

+0

你有错误信息吗? –

回答

0

它适用于VBA,但在SQL中可能需要使用WHERE子句;也就是说,如果找不到文本,则不会尝试使用Replace()。

Update table set column = Replace(column, 'some text', 'new data') 
WHERE column Like '*some text*' 

我还没有机会测试这个。

也许值得把方括号放在字段名Replace([column],的周围,尽管这应该不是必须的。

已添加正如您发现的那样,您无法使用C#中的Replace。您可以使用其他功能 - 左,右,中,修剪 - 但这不会有帮助,除非它是一个非常简单的替换(可能来自左侧)。否则,您需要获取并遍历可更新的RecordSet并在C#中执行替换。

或者,如果您可以从Access中访问数据库,则可以创建并保存查询,并使用Access-Automation运行(打开)此查询。获取可更新记录集是更好的选择。

+0

查看了它之后,我无法在C#应用程序中使用Replace,因为Jet Engine没有定义Replace函数。我仍然没有找到这个问题的答案,但如果有人知道如何解决这个问题,将不胜感激。 –