"update gzsj set l1=mytable1.l1 where name=mytable1.name" 你先把 mytable1.name换成一个固定的值试一试, "update gzsj set l1=mytable1.l1 where name=xxx" 如果可以,再换成一个简单变量试一试,如果还可以的话, 就先把mytable1.name赋给一个中间变量, Good luck
update gzsj set l1=mytable1.l1 where name=mytable1.name 换成update gzsj set l1=固定值 where name=固定值 看看你的update语句是否正确。
你大概是想花很少的时间,和代码来实现这个功能, 可惜,微软的Jet不提供跨越数据库的更新. 不过,可以用以下代码实现, 多了两行, 不介意吧. Dim myworkspace As Workspace, mydatabase1 As Database, mydatabase2 As Database, mytable1 As Recordset, mytable2 As Recordset Private Sub Command1_Click() d_mybasename1 = "d:\gz199912.mdb" d_mybasename2 = "d:\gz20001.mdb" Set myworkspace = DBEngine.Workspaces(0) Set mydatabase1 = myworkspace.OpenDatabase(d_mybasename1) Set mydatabase2 = myworkspace.OpenDatabase(d_mybasename2) Set mytable1 = mydatabase1.OpenRecordset("gzsj", dbOpenDynaset) Set mytable2 = mydatabase2.OpenRecordset("gzsj", dbOpenDynaset) 'Create a external db view mydatabase2.CreateQueryDef "v_gzsj", "select * from gzsj in 'd:\gz199912.mdb'"mydatabase2.Execute "update gzsj, v_gzsj set gzsj.l1=v_gzsj.l1 where gzsj.name=v_gzsj.name"'Drop the view mydatabase2.QueryDefs.Delete ("v_gzsj")mytable1.Close mytable2.Close mydatabase1.Close mydatabase2.Close End Sub如果行的话, 给我加点分吧. 祝你的工资系统能卖个好价钱. ;-) 我可是用 14.4 的猫给你发信的. 如果有问题, 论坛上见.
Dim myworkspace As Workspace, mydatabase1 As Database Private Sub Command1_Click() d_mybasename1 = App.Path & "\gz20001.mdb" Set myworkspace = DBEngine.Workspaces(0) Set mydatabase1 = myworkspace.OpenDatabase(d_mybasename1) mydatabase1.Execute "update gzsj set t1.l1=t2.l1 from gzsj as t1 inner jion gzsj in '" & App.Path & "\gz199912.mdb' as t2 where t1.name=t2.name" mydatabase1.Close End Sub 试试看。如果还不行,你把数据库和程序Email到[email protected],我试试看。
你先把 mytable1.name换成一个固定的值试一试,
"update gzsj set l1=mytable1.l1 where name=xxx"
如果可以,再换成一个简单变量试一试,如果还可以的话,
就先把mytable1.name赋给一个中间变量,
Good luck
换成update gzsj set l1=固定值 where name=固定值
看看你的update语句是否正确。
可惜,微软的Jet不提供跨越数据库的更新.
不过,可以用以下代码实现, 多了两行, 不介意吧.
Dim myworkspace As Workspace, mydatabase1 As Database, mydatabase2 As Database, mytable1 As Recordset, mytable2 As Recordset
Private Sub Command1_Click()
d_mybasename1 = "d:\gz199912.mdb"
d_mybasename2 = "d:\gz20001.mdb"
Set myworkspace = DBEngine.Workspaces(0)
Set mydatabase1 = myworkspace.OpenDatabase(d_mybasename1)
Set mydatabase2 = myworkspace.OpenDatabase(d_mybasename2)
Set mytable1 = mydatabase1.OpenRecordset("gzsj", dbOpenDynaset)
Set mytable2 = mydatabase2.OpenRecordset("gzsj", dbOpenDynaset)
'Create a external db view
mydatabase2.CreateQueryDef "v_gzsj", "select * from gzsj in 'd:\gz199912.mdb'"mydatabase2.Execute "update gzsj, v_gzsj set gzsj.l1=v_gzsj.l1 where gzsj.name=v_gzsj.name"'Drop the view
mydatabase2.QueryDefs.Delete ("v_gzsj")mytable1.Close
mytable2.Close
mydatabase1.Close
mydatabase2.Close
End Sub如果行的话, 给我加点分吧. 祝你的工资系统能卖个好价钱. ;-)
我可是用 14.4 的猫给你发信的. 如果有问题, 论坛上见.
Private Sub Command1_Click()
d_mybasename1 = App.Path & "\gz20001.mdb"
Set myworkspace = DBEngine.Workspaces(0)
Set mydatabase1 = myworkspace.OpenDatabase(d_mybasename1)
mydatabase1.Execute "update gzsj set t1.l1=t2.l1 from gzsj as t1 inner jion gzsj in '" & App.Path & "\gz199912.mdb' as t2 where t1.name=t2.name"
mydatabase1.Close
End Sub
试试看。如果还不行,你把数据库和程序Email到[email protected],我试试看。