设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2923|回复: 13
打印 上一主题 下一主题

[模块/函数] 怎样在子窗体某项被动获得数据后能够运行它自身的事件代码

[复制链接]

点击这里给我发消息

跳转到指定楼层
#
发表于 2008-10-30 15:46:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
各位老师:窗体中有意文本框[Text0],更新后将值赋给 子窗体中的[项目]:
Private Sub Text0_AfterUpdate()
Dim stSql As String
stSql = "UPDATE 表1 SET 项目 = '" & Text0 & "'"
CurrentDb.Execute stSql
Me.子窗体.Requery
End Sub

我的问题是,怎样使子窗体[项目]得到窗体[Text0]的赋值后自动运行[项目]更新后的代码:

Private Sub 项目_AfterUpdate()
Me.标准 = DLookup("标准", "表2", "项目='" & [项目] & "' And 二级条件='" & [二级条件] & "'")
  End Sub  
这是一个连续运行问题,如控件均在窗体有老师指点加一句 Call 控件名_AfterUpdate   
但获得数据的控件在子窗体,就不知能否实现,如能实现请各位老师指教代码如何写?
谢谢!请看附件

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

13#
 楼主| 发表于 2012-12-27 11:58:33 | 只看该作者
非常感谢以上老师的指教,虽然有些晚!谢谢!

点击这里给我发消息

12#
 楼主| 发表于 2011-10-14 21:12:30 | 只看该作者
非常感谢5574916和zmt 两位老师指点。您们的方法都很好。谢谢!
11#
发表于 2011-10-2 21:29:55 | 只看该作者
本帖最后由 5574916 于 2011-10-2 21:32 编辑

刚刚学了调用子窗体事件,顺便帮你完成以下

子窗体 '被调用的事件
Private Sub Text2_AfterUpdate()
Text3 = Text2 * 3
End Sub
改为
Public Sub Text2_AfterUpdate()
Text3 = Text2 * 3
End Sub

主窗体手动触发事件

Private Sub Text1_AfterUpdate()

Me.Text2 = Me.Text1 * 5
子窗体.Form.Text2 = Me.Text1 * 5
Call Text2_AfterUpdate   '加上这一句后 text2更新后的程序可连续运行
子窗体.Form.Text2 = Me.Text1 * 5

Form_子窗体.Text2_AfterUpdate ’这里就是运行前面调用的事件

End Sub



---------------------

本来是想解决子窗体(数据窗体每一条数据)如何批量联动的:(现在这个方法只能解决一条数据)
我想实现的是
例如主窗体有一个组合框,当选择件时,子窗体中的单位全部填入件,如果是打时就全为打。

实现代码:

stSql = "UPDATE 订单明细 SET 单位 = '" & Me.批量更改 & "'WHERE 订单明细.订单ID =" & Me![订单ID]
CurrentDb.Execute stSql

【问题是:】
同时,规格随之变动的条件要根据子窗体的 产品名称和单位 批量改动。

我在主窗体调用子窗体的单位更新后事件

Me!规格 = DLookup("[规格(件)]", "产品明细表", "[产品ID]=" & Me.产品ID)

但是这样只能更新一条记录,不知道有什么思路可以批量更改数据窗体的所有对应数据。

本帖子中包含更多资源

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

x

点击这里给我发消息

10#
 楼主| 发表于 2008-11-4 15:26:22 | 只看该作者
andymark老师您好:  是我说得不明白,现在再简化一下传上去。非常感谢!

本帖子中包含更多资源

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

x

点击这里给我发消息

9#
 楼主| 发表于 2008-11-4 14:57:07 | 只看该作者
原帖由 kangking 于 2008-11-4 13:27 发表
一点建议:你在更新后事件中有下面的代码,
stSql = "UPDATE 表1 SET 项目 = '" & Text0 & "'"
CurrentDb.Execute stSql
你为什么不能一次将其它的字段也更新呢?


谢谢以上朋友的指点。也想一次完成,但不知代码怎样写?能再给指教吗?谢谢!
8#
发表于 2008-11-4 13:48:40 | 只看该作者
顶一下。
7#
发表于 2008-11-4 13:44:15 | 只看该作者
还是没看明你需要的结果
6#
发表于 2008-11-4 13:27:55 | 只看该作者
一点建议:你在更新后事件中有下面的代码,
stSql = "UPDATE 表1 SET 项目 = '" & Text0 & "'"
CurrentDb.Execute stSql
你为什么不能一次将其它的字段也更新呢?

点击这里给我发消息

5#
 楼主| 发表于 2008-11-4 11:05:46 | 只看该作者
顶!各位大师:是否无解?

点击这里给我发消息

4#
 楼主| 发表于 2008-11-1 19:50:06 | 只看该作者
再顶一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-20 00:37 , Processed in 0.102397 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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