设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] [解决了]修改记录时把原记录保存到另一表里,怎样实现?

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


如库描述,查到需修改的记录,直接在子窗体里改好,按修改按钮的同时把原记录保存到表2
表只保存修改后的记录,怎么做?

[:25]

[ 本帖最后由 sunny-xie 于 2008-3-27 08:46 编辑 ]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-3-26 10:10:57 | 只看该作者
期待达人...
3#
发表于 2008-3-26 10:39:58 | 只看该作者
1、表一增加一个字段名为id的主关键字。以便定位记录。
2、表二增加一个同名的外部关键字字段索引为“有(有重复)”
3、窗体“表1子窗体”更新前事件运行追加查询。
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO 表2 SELECT 表1.* FROM 表1 WHERE 表1.id=" & Me.id & ";"
End Sub
4#
 楼主| 发表于 2008-3-26 10:46:21 | 只看该作者

回复 3# 的帖子

试下先
5#
发表于 2008-3-26 11:03:28 | 只看该作者
Private Sub Form_Dirty(Cancel As Integer)
    Dim sql As String
    On Error Resume Next

    sql = "INSERT INTO 表2 ( 日期, 编号, 名称, 数量 )" & _
          "SELECT 表1.日期, 表1.编号, 表1.名称, 表1.数量" & _
          " FROM 表1 " & _
          " WHERE (((表1.编号)='" & 编号 & "'));"

    DoCmd.RunSQL sql

    If Err() <> 0 Then
        sql = "UPDATE 表2  SET 表2.日期 = #" & 日期 & "#,  表2.名称 = '" & 名称 & "', 表2.数量 = " & 数量 & _
              " WHERE (((表2.编号)=" & 编号 & "));"
        DoCmd.RunSQL sql

    End If
End Sub

在脏数据事件中写上面的代码,注意:我是以编号为关键字的,把数据的类型改为了数据.程序运行后,在你编辑数据时将自动保存原来的数据到表2,但在关闭窗体前的再编辑,数据不会再次保存,除非关闭窗体后再打开编辑.
6#
发表于 2008-3-26 11:14:05 | 只看该作者
Private Sub Form_Dirty(Cancel As Integer)
    Dim sql As String
    On Error Resume Next

    If DCount("编号", "表2", "编号='" & 编号 & "'") = 0 Then
    sql = "INSERT INTO 表2 ( 日期, 编号, 名称, 数量 )" & _
          "SELECT 表1.日期, 表1.编号, 表1.名称, 表1.数量" & _
          " FROM 表1 " & _
          " WHERE (((表1.编号)='" & 编号 & "'));"
    Else
        sql = "UPDATE 表2  SET 表2.日期 = #" & 日期 & "#,  表2.名称 = '" & 名称 & "', 表2.数量 = " & 数量 & _
              " WHERE (((表2.编号)='" & 编号 & "'));"
   
    End If

    DoCmd.RunSQL sql

End Sub

试了一下,现在的代码较好,你可以再调试一下.
7#
发表于 2008-3-26 18:19:05 | 只看该作者
依楼主的要求,我做了一个例子。

本帖子中包含更多资源

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

x
8#
 楼主| 发表于 2008-3-27 08:45:20 | 只看该作者

回复 7# 的帖子

不错,[:11]
一个追加一个更新查询,明白了,谢谢!
9#
发表于 2008-7-18 16:56:25 | 只看该作者
学习吓
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-27 06:18 , Processed in 0.103041 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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