Office中国论坛/Access中国论坛

标题: 无法记录子窗体更新前后记录字段值 [打印本页]

作者: 付谦    时间: 2011-4-24 08:10
标题: 无法记录子窗体更新前后记录字段值
本帖最后由 付谦 于 2011-4-25 12:44 编辑

双击子窗体的“支部名称”,选择,更新1条记录后,在“登记内调党员”表中登记了数条记录,并且字段值也不对,全部是更新前的值,要实现修改谁登记谁,并且更新前与更新后值对。见附件
作者: todaynew    时间: 2011-4-24 08:34
本帖最后由 todaynew 于 2011-4-24 08:40 编辑

多此一举,毫无意义,根源在表,不在窗体。

请参见《现在完成时》一文中的处理方法。

作者: 付谦    时间: 2011-4-24 09:28
回复 todaynew 的帖子

并非多此一举,只要在窗体中改动了支部名称,就将变动情况自动记录在"登记内调党员"表中,日后可统计与查询,实际应用很广.你介绍的例办法参考价值不大.我在单个窗体中实现了此功能,在子窗体实现不了,试了若干办法也不行,只好请教高手了
作者: todaynew    时间: 2011-4-24 14:57
本帖最后由 todaynew 于 2011-4-24 15:21 编辑
付谦 发表于 2011-4-24 09:28
回复 todaynew 的帖子

并非多此一举,只要在窗体中改动了支部名称,就将变动情况自动记录在"登记内调党员"表 ...


两筐子鸡蛋,一框来源河南,一筐来源山东,我们要检测鸡蛋的核辐射是否超标,检测前我们必须做的工作就是给蛋进行标注。我们对鸡蛋有两种标注方法,第一种是标注“河南蛋001”、“河南蛋002”、。。。“山东蛋001”,“山东蛋002”,另一种标注方法是先标注框为1为河南,2为山东,然后用数组标注蛋为(1,001)、(1,002)。。。(2,001)、(2,002)。。。

第二种方法最大的好处在于,当我们想把“河南”改为“豫”,“山东”改为“鲁”时,不必去改变蛋的标注。

数据库中表的结构设计,不过是解决这两框蛋的问题而已,其基本原则就是除非万不得已,坚决不给蛋直接标注产地。合理的结构设计,能给开发和运用带来高效率。

[attach]45411[/attach]

[attach]45412[/attach]



作者: 付谦    时间: 2011-4-24 18:24
本帖最后由 付谦 于 2011-4-24 18:25 编辑

回复 todaynew 的帖子

管理系统我已做好了,请教的是实现在子窗体改动后在相关数据表里记载的技术问题.此问题牵涉到打印组织关系时,不用手动填写由那里到那里,同时可统计与查看一年中调入调出了那些党员,相当于动态台帐;还有如果有人改动了,在记录数据表一目了然,可及时改过来.在单个窗体中我用以下代码实现了此记录功能rivate Sub 支部名称_AfterUpdate()
Dim ee As String
Dim FF As String
    If Me.支部名称.OldValue <> "" Then
      ee = Me.支部名称.OldValue
    Else
      ee = ""
    End If
     FF = Me.支部名称
   If DLookup("序号", "全称单位", "全称单位.工作单位='" & FF & "'") <> DLookup("序号", "全称单位", "全称单位.工作单位='" & ee & "'") Then
       CurrentDb.Execute "INSERT INTO 登记内调党员 ( 姓名, 修改时间, 修改项目, 修改前, 修改后 ) SELECT 姓名, DATE(),'支部名称', '" & ee & "' , '" & FF & "' FROM 党员在册 where [党员在册]![姓名]='" & Form![姓名] & "';"
   End If
   ee = ""
   FF = ""
Forms![党员窗体].Requery
End Sub:
可是在子窗体中实现不了才请教大师们.

作者: 付谦    时间: 2011-4-25 12:45
回复 todaynew 的帖子

怎无人能解决
作者: sxb2007    时间: 2011-4-25 13:15
怎无人能解决?????
不是无解,只是不想浪费时间。
你是求别人免费帮你解决问题?
从你的回复中都没有看出一点礼貌。
todaynew 他就是大师级、版主、高手。在论谈中名气很大,很受人尊重。
不是版主没有帮到你,只是你没有把问题讲清楚。
本来也想看看,但也不想看了。
你的问想无非是对数据进行处理。
用ADO可以并行处理N个表,用ACCESS做商业软件开发这么久,还没有遇到用ADO处理不了的数据。
作者: 付谦    时间: 2011-4-25 13:51
回复 sxb2007 的帖子

我口口声声称大家为大师和高手,还说我没礼貌,4楼以为我请教做系统,提出 两筐子鸡蛋说,避免他为我花费过多时间和精力,我告诉仅是求实现一功能的问题,同日,他回复我近似帖,我及时对他表示了感谢,我对版主todaynew和帮助我的人历来是尊重的,但只不过求人帮助不低三下四而已。
作者: kangking    时间: 2011-4-25 14:20
感觉是可以做到的(因为在主窗体中做到了),下载示例后,发现没有子窗体的“支部名称”。。。。
作者: todaynew    时间: 2011-4-25 15:48
请sxb2007 、付谦 两同志冷静,可以争鸣,不必斗气。
作者: 付谦    时间: 2011-4-25 20:19
本帖最后由 付谦 于 2011-4-25 20:23 编辑

回复 kangking 的帖子

谢谢鼓励。本人才疏学浅对提出的问题到目前不得其解,存在对窗体中的'支部名称'采取用键盘输入办法修改,在数据表“修改内调党员”中能正确记载,可是如果采’用双击‘‘支部名称'’’,’用窗体来选择输入修改的话就不行了,试图在的'支部名称'退出事件中加入“支部名称_AfterUpdate“语句,在数据表“修改内调党员”中的记载是错误的。盼高手相助解决,谢谢!
作者: 付谦    时间: 2011-4-25 20:27
回复 todaynew 的帖子

感谢todaynew 大师的忠言提醒,同时盼大师伸出援助之手,谢谢!
作者: kangking    时间: 2011-4-26 14:36
请看附件。


作者: 付谦    时间: 2011-4-26 20:08
回复 kangking 的帖子

君子一席话,胜我读十年书,一周困忧,见帖顿解,从内心感谢!
作者: CIBOO2000    时间: 2011-4-27 19:03
友谊第一
作者: xiaowuo2    时间: 2011-4-29 08:53
kangking 发表于 2011-4-26 14:36
请看附件。

大哥的思路一直是我的偶像,狂顶大哥
作者: jszx123    时间: 2011-9-16 11:51
冷静再冷静




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3