异常类型:表达式中 'Replace' 函数未定义,请问替代的语句,排名在最前的正确替代语句直接给全部分

错误类型:表达式中 'Replace' 函数未定义,请教替代的语句,排名在最前的正确替代语句直接给全部分
开发工具:delphi 7,数据库:access
语句目的:将access的‘课时’表中的‘时长’字段格式化,如将原来的 45分20秒,转换为45:20。这是我写的语句
Delphi(Pascal) code

  ADOQuery1.SQL.Clear ;
  ADOQuery1.SQL.Add('update 课时 set 时长=REPLACE(REPLACE(时长,''分'','':''),''秒'','''') where 时长 like ''*秒*''');
  ADOQuery1.execsql;




执行以上语句报错:错误类型:表达式中 'Replace' 函数未定义。
但是相应SQL语句在access是正确执行的,网上查到原因:replace 是ACCESS的内部函数,在ADO通过ODBC来访问的时候不可用。
请帮助:有什么替代?办法?请给出具体替代语句

发了两次都被和谐了,说是有敏感字,终于找到可能的敏感字了?看出来没? "替代0办法",呵呵

------解决方案--------------------
procedure TForm1.TranslateClick(Sender: TObject);
function strReplace(str: string): string;
begin
Result:= StringReplace(str,'分',':',[rfReplaceAll]);
Result:= StringReplace(Result,'秒','',[rfReplaceAll]);
end;
begin
with ADOQuery1 do begin
SQL.Close;
SQL.Text:='select * from 课时';
Open;
First;
while not Eof do begin
Edit;
FieldByName('时长').Value:= strReplace(fieldbyname('时长').AsString);
Post;
Next;
end;
end;
end;