设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2302|回复: 6
打印 上一主题 下一主题

[查询] 请教,两个update的查询语句怎么合并成一个呢,谢谢!

[复制链接]
跳转到指定楼层
1#
发表于 2003-12-25 08:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教,两个update的查询语句怎么合并成一个呢,谢谢!

第一个更新查询是把字段1含有“甲”这个字的行的字段2部分更新成“优”即语句为:

UPDATE 表一 SET 表一.字段2 = "优"WHERE (((表一.字段1 = 甲)));

第二个更新查询是把字段1含有“乙”这个字的行的字段2部分更新成“良”即语句为:

UPDATE 表一 SET 表一.字段2 = "良"WHERE (((表一.字段1 = 乙)));
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-12-25 16:26:00 | 只看该作者
在access数据库里面,可以这么做:

1)如果只有优/良两种情况,或者除了优(或良),剩余的都设为良(或优):
UPDATE [表一] SET [字段2] = IIF(([字段1] = '甲'),'优','良');

2)如果除了优良以外还有多种情况,不能都是优或者良:

Private Sub test()
     Dim strSQL As String
     strSQL = "UPDATE [表一] SET [字段2] ='" &  myFunction([字段1]) & "'"
     DoCmd.Runsql strSQL
End Sub

Private Function myFunction(x As string)
    Select Case x
            Case '甲'
                  myFunction = '优'
            Case '乙'
                  myFunction = '良'
            Case else
                 myFunction = ''
     End Select
End Function
3#
 楼主| 发表于 2003-12-26 02:29:00 | 只看该作者
谢谢阿罗大侠,这个问题困扰我好长时间了,没想到来这里这么快就的到了指导!再次感谢!
4#
 楼主| 发表于 2003-12-26 02:56:00 | 只看该作者
请教阿罗大侠,如果学习您上面教给我的语句,看什么书可以学到?
因为是要做很多字段组合成的某些条件再更新某个字段。

即:‘

字段1是"甲" AND  字段2是"男" 则更新字段3为"Y1"
字段1是"乙" AND  字段2是"男" 则更新字段3为"Y2"
字段1是"甲" AND  字段2是"女" 则更新字段3为"X1"
字段1是"乙" AND  字段2是"女" 则更新字段3为"X2"

这种怎么合并成一个语句,谢谢!另外还有上述规则怎么应用于多个表,即UPDATE [表一]这里是否还能多写[表二][表三]等。

我迫切的需要学习。再次谢谢!
5#
发表于 2003-12-26 04:14:00 | 只看该作者
这里您只要掌握一个要领,就是要更新什么字段,条件是什么。废话少说,现在,按照您最后一个提问,我们要更新的是‘字段3’,那么,总体的轮廓就是:

UPDATE [表一] SET [字段3] =(由字段1和2推导出的结果)

现在,用一段子程序把上面圆括号中的叙述表达出来

Private Function f_test(a As String, b As String)    '///a,b代表字段1和2
If a="甲" then
   f_test=IIF(b="男", "Y1", "X1")
else
   f_test=IIF(b="男", "Y2", "X2")
end if
End Function

实际使用起来就是这样了
Docmd.Runsql "UPDATE [表一] SET [字段3] = '" & f_test([字段1], [字段2]) & "'"

多个表的情况有所不同。因为实际更新是一个一个表分别独立进行的,所以编程方面基本也是这样,没有什么捷径,也无此必要。

最后一点,您问需要看些什么书,我曾有一贴,不知有没有帮助:
http://www.office-cn.net/bbs/dispbbs.asp?boardID=3&ID=11959
6#
 楼主| 发表于 2003-12-26 05:01:00 | 只看该作者
太好了!感谢您耐心解答!这个语句会节约我很多时间乐,祝您圣诞快乐!
7#
发表于 2003-12-26 05:14:00 | 只看该作者
不客气。也祝您节日愉快。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 23:24 , Processed in 0.097110 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表