为什么replace 运行不了。是()的问题吗?
本帖最后由 diandiand163 于 2017-6-27 13:13 编辑$mdb_data_path="D:\用户目录\我的文档\Data.mdb"
$mdb_data_pwd=""
$T="*"
$tt="标题"
$tblname="表名"
$title = "update 表名 set 标题=REPLACE(标题,'aaa','111') whereid = 1"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path& ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$addfld.execute ($title)
$addfld.Close
$title = "update 表名 set 标题='aaa' whereid = 1" 这样是可以执行的。
但是改成 $title = "update 表名 set 标题=REPLACE(标题,'aaa','111') whereid = 1"运行没有任何效果!请问哪出了问题?? 回复 1# diandiand163
SQL 在 ACCESS 上 與 SQL 上不一定相同
請先在ACCESS 上測試 你的
update 表名 set 标题=REPLACE(标题,'aaa','111') whereid = 1
這個寫法是OK 的 写法没有问题的啊。 写法没有问题的啊。 刚去ACCESS上测试了,update 表名 set 标题=REPLACE(标题,'aaa','111') whereid = 1语句完全没有问题,可以执行。为什么在AU3不行呢? 回复 5# diandiand163
錯誤訊息是甚麼?? 回复 5# diandiand163
錯誤訊息是甚麼??
請貼實際程式碼也許是一個逗點 或者分號 或者 空白問題
你自己用手重新打過 肯定不會錯 没有任何错误提示,就是没有更新改到啦。 试过了不行。。。。手打的也不行。。。。是不是语句里包括了()的问题。需要转义吗? 請上程式碼.... #include <Access.au3>
#AutoIt3Wrapper_UseX64=n
;操作MDB
$mdb_data_path="D:\用户目录\我的文档\Data.mdb"
$mdb_data_pwd=""
$T="*"
$tt="标题"
$tblname="采集存储表"
$title = "UPDATE 采集存储表 SET 标题 = Replace(标题,'111','000') WHERE ID=1"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path& ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$addfld.execute ($title)
$addfld.Close 附件解压到对应目录,进行调试! 谢谢帮我测试! 回复 12# diandiand163
請提供 ACCESS.AU3 回复 11# diandiand163
$mdb_data_path="Data.mdb"
$mdb_data_pwd=""
$T="*"
$tt="标题"
$tblname="采集存储表"
$title = "UPDATE 采集存储表 SET 标题 = Replace(标题,'111','000') WHERE ID=1"
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source="&$mdb_data_path)
$RS.ActiveConnection = $conn;好像是主連接,這個好像比較重要
$conn.Execute("UPDATE [采集存储表] SET [标题] = Replace([标题],'111','000') WHERE ID=1")
試看看 這段代碼另外 欄位請盡量不要使用中文 这个应该是系统自带的吧。