设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 各位老师请帮助看看关于多条件更新,VBA如何写?谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2018-12-10 19:19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

各位老师请帮助看看关于多条件更新,VBA如何写?:
一个例子:关于会员信息变更的问题:
1:会员号变更,原会员号下的信息不变,只修改会员号
If IsNull(Me!变更后会员号) = True Then
  MsgBox "会员号没有被修改"
' Exit Sub
Else
SQLTEXT = "UPDATE [tbl会员表] SET [tbl会员表].[会员号] = Forms![frm会员信息变更]!变更后会员号 WHERE [会员号]= '" & Forms![frm会员信息变更]!会员号 & "'"
DoCmd.RunSQL SQLTEXT
2:会员号不变,会员号下面的其他字段变更,例如,姓名变更
If IsNull(Me!变更后姓名) = True Then
  MsgBox "姓名没有被修改"
' Exit Sub
Else
SQLTEXT = "UPDATE [tbl会员表] SET [tbl会员表].[姓名] = Forms![frm会员信息变更]!变更后姓名 WHERE [会员号]= '" & Forms![frm会员信息变更]!会员号 & "'"
DoCmd.RunSQL SQLTEXT
SQLTEXT = "UPDATE [tbl会员表] SET [tbl会员表].[曾用名] = Forms![frm会员信息变更]!姓名 WHERE [会员号]= '" & Forms![frm会员信息变更]!会员号 & "'"
DoCmd.RunSQL SQLTEXT
MsgBox "姓名被修改"

3: 会员号变更,同时原会员下面的信息同时变更,请问咋写呢?谢谢
请问上面的语句可以写个循环吗?如何写请帮助看看,感谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2018-12-11 16:35:55 | 只看该作者
一样写哦,只是set 字段1=值1,字段2=值2  where 会员=旧会员
3#
 楼主| 发表于 2018-12-11 18:58:51 | 只看该作者
我把例子上传,请帮助看看,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2018-12-13 12:15:29 | 只看该作者
如果有很多这样的变更。个人建议创建一个宽表,把变更记录录入到宽表里,再直接追加到信息表里。这样也方便追溯(当然用户ID是不给改的)。
表结构类似于:
ID  用户ID  会员号 姓名……会员号New 姓名New……修改日期 修改人
1、在窗体输入需要修改的部分。然后依次追加进去:
2、把剩下的空值,更新为原值。这时候就得到一条完整的记录了。
3、把这条完整的记录,按用户ID(必要的话,可以加上max(ID)作为条件),将New部分更新到信息表。
5#
 楼主| 发表于 2018-12-13 18:20:59 | 只看该作者
roych 发表于 2018-12-13 12:15
如果有很多这样的变更。个人建议创建一个宽表,把变更记录录入到宽表里,再直接追加到信息表里。这样也方便 ...

谢谢roych老师提供的思路和方法。我试试

点击这里给我发消息

6#
发表于 2018-12-16 14:33:50 来自手机 | 只看该作者
yanwei82123300 发表于 2018-12-10 19:19
各位老师请帮助看看关于多条件更新,VBA如何写?:
一个例子:关于会员信息变更的问题:
1:会员号变更 ...

3: 会员号变更,同时原会员下面的信息同时变更,请问咋写呢?谢谢
直接删掉,插入新记录吧。
循环 do util

loop
来自: 微社区
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-1 20:31 , Processed in 0.102204 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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