diandiand163 发表于 2017-6-27 13:09:49

为什么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"运行没有任何效果!请问哪出了问题??

kk_lee69 发表于 2017-6-27 14:12:40

回复 1# diandiand163

SQL 在 ACCESS 上 與 SQL 上不一定相同

請先在ACCESS 上測試   你的
update 表名 set 标题=REPLACE(标题,'aaa','111') whereid = 1

這個寫法是OK 的

diandiand163 发表于 2017-6-27 15:29:17

写法没有问题的啊。

diandiand163 发表于 2017-6-27 15:29:19

写法没有问题的啊。

diandiand163 发表于 2017-6-27 16:05:27

刚去ACCESS上测试了,update 表名 set 标题=REPLACE(标题,'aaa','111') whereid = 1语句完全没有问题,可以执行。为什么在AU3不行呢?

kk_lee69 发表于 2017-6-27 16:10:10

回复 5# diandiand163


    錯誤訊息是甚麼??

kk_lee69 发表于 2017-6-27 16:11:13

回复 5# diandiand163


    錯誤訊息是甚麼??

請貼實際程式碼也許是一個逗點 或者分號 或者 空白問題

你自己用手重新打過 肯定不會錯

diandiand163 发表于 2017-6-27 16:13:39

没有任何错误提示,就是没有更新改到啦。

diandiand163 发表于 2017-6-27 16:14:31

试过了不行。。。。手打的也不行。。。。是不是语句里包括了()的问题。需要转义吗?

kk_lee69 发表于 2017-6-27 16:17:47

請上程式碼....

diandiand163 发表于 2017-6-27 16:24:20

#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 附件解压到对应目录,进行调试!

diandiand163 发表于 2017-6-27 16:24:48

谢谢帮我测试!

kk_lee69 发表于 2017-6-27 16:33:54

回复 12# diandiand163


    請提供 ACCESS.AU3

kk_lee69 发表于 2017-6-27 16:41:50

回复 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")

試看看 這段代碼另外 欄位請盡量不要使用中文

diandiand163 发表于 2017-6-27 16:42:03

这个应该是系统自带的吧。
页: [1] 2 3
查看完整版本: 为什么replace 运行不了。是()的问题吗?