В настоящее время принятый ответ на этот вопрос несколько устарел. Использование
Provider=Microsoft.ACE.OLEDB.12.0
следующий код C # работает просто отлично:
cmd.CommandText =
"UPDATE table1 SET field1 = Replace(field1, '|', '\"')";
cmd.ExecuteNonQuery();
Другими словами, функция Replace()
могла вызывать проблемы со старым драйвером OLEDB "Jet" (и, возможно, более ранними версиями драйвера "ACE"), но с версии для Access 2010 это больше не проблема .