标题:出现错误
只看楼主
guixm1998
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-11-8
得分:0 
你好,我是用VB编写的
2016-11-09 21:58
guixm1998
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-11-8
得分:0 
你好,我是用VB+access编写的
2016-11-09 21:59
guixm1998
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-11-8
得分:0 
Private Sub Command1_Click()
Dim db As Database
Set db = OpenDatabase(App.Path + "\db.mdb")
Sql = "update aa1 set aa1.职称=aa.职称 from aa1,aa where aa1.姓名=aa.姓名"
db.Execute Sql
End Sub

你好,两个表中都有数据,只是把aa1中的职称数据更新为aa中的职称,运行后,但aa.姓名是空的,而且aa.职称是空的,所以会出现操作符丢失,在查询表达式中,但我不知道怎么解决,请教高手。谢谢!

用DAO
两个表中的表结构如下:
Set td = db.CreateTableDef(mtable)
With td
     .Fields.Append .CreateField("编号", dbInteger, 3)
     .Fields.Append .CreateField("姓名", dbText, 8)
     .Fields.Append .CreateField("职称", dbText, 6)
end with
2016-11-09 22:10
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
我电脑上,没access,测试不了你的。
但aa.姓名是空的,而且aa.职称是空的,所以会出现操作符丢失!
你提到,当姓名与职称是空的时候,就会报错。那你就先用姓名不是空的数据来测试1下,看看是不是也报错。
当然,你的设计就有缺陷,你用姓名来关联,那么,姓名就不能有空和重复的。如果你允许姓名重复,那你就要增加编号字段,用编号来关联。
你上表,就有编号字段了,你改为编号字段关联,同时,保证编号字段的内容是唯一的。


[此贴子已经被作者于2016-11-10 08:58编辑过]

2016-11-10 08:54
guixm1998
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-11-8
得分:0 
你好,我换成Sql = "update aa1 set aa1.职称='副教授' where aa1.姓名='张三'"运行后,是对的。
2016-11-10 09:37
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
那你分2步,
1,是职称空,姓名不空,看看,
2、是职称不空,姓名空,
3、是2个都不空
2016-11-10 12:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-470878-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.591745 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved