设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 4819|回复: 39
打印 上一主题 下一主题

[窗体] 主子窗体修改数据后提示问题?

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-18 14:14:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如何做到修改内容后,点击退出时提示“什么项目由YY内容修改成XX内容,是否保存”
例子如下,不知道有谁知道,能否帮我修改一下?

现在主窗体已实现,就是如果有子窗体时,在修改子窗体后,与主窗体一起提示?(不要理数据库结构和表的关系,主要是实现功能)

[ 本帖最后由 小何 于 2008-2-20 16:20 编辑 ]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
40#
 楼主| 发表于 2024-11-11 20:59:13 | 只看该作者
313
回复

使用道具 举报

39#
发表于 2009-1-20 19:20:19 | 只看该作者
值得学习下~~
38#
发表于 2008-12-31 14:44:42 | 只看该作者
DDDDDDDDDDDDDDDDD

评分

参与人数 1经验 -10 收起 理由
Henry D. Sy -10 恶意灌水

查看全部评分

37#
发表于 2008-7-4 13:54:34 | 只看该作者
下载学习
36#
发表于 2008-6-24 12:55:22 | 只看该作者
这个问题我也想解决,前来学习罗
35#
 楼主| 发表于 2008-2-24 20:47:33 | 只看该作者
谢谢你,T小宝

点击这里给我发消息

34#
发表于 2008-2-24 20:40:10 | 只看该作者
当该项目没有数据时,就出现了空值,空值无法和字符串比较,用Nz把文本型字段和数字型字段的空值转换为空字符串即可,注意是否型字段不需要转换:

  1. Private Sub Form_BeforeUpdate(Cancel As Integer)
  2. Dim st1 As String
  3. If Nz(Me.产品名称.OldValue) <> Nz(Me.产品名称) Then st1 = "产品名称由 " & Me.产品名称.OldValue & " 修改成 " & Me.产品名称 & Chr(13)
  4. If Nz(Me.单位数量.OldValue) <> Nz(Me.单位数量) Then st1 = st1 & "单位数量由 " & Me.单位数量.OldValue & " 修改成 " & Me.单位数量 & Chr(13)
  5. If Nz(Me.单价.OldValue) <> Nz(Me.单价) Then st1 = st1 & "单价由 " & Me.单价.OldValue & " 修改成 " & Me.单价 & Chr(13)
  6. If Nz(Me.库存量.OldValue) <> Nz(Me.库存量) Then st1 = st1 & "库存量由 " & Me.库存量.OldValue & " 修改成 " & Me.库存量 & Chr(13)
  7. If Nz(Me.订购量.OldValue) <> Nz(Me.订购量) Then st1 = st1 & "订购量由 " & Me.订购量.OldValue & " 修改成 " & Me.订购量 & Chr(13)
  8. If Nz(Me.再订购量.OldValue) <> Nz(Me.再订购量) Then st1 = st1 & "再订购量由 " & Me.再订购量.OldValue & " 修改成 " & Me.再订购量 & Chr(13)
  9. If Me.中止.OldValue <> Me.中止 Then st1 = st1 & "中止由 " & IIf(Me.中止.OldValue, "是", "否") & " 修改成 " & IIf(Me.中止, "是", "否") & Chr(13)
  10. If Len(Trim(st1)) = 0 Then
  11.     Me.Undo
  12.     Exit Sub
  13. End If
  14. If MsgBox("数据已经修改" & Chr(13) & Chr(13) & st1 & Chr(13) & Chr(13) & "是否保存?" & _
  15.     Chr(13) & "单击是保存,单击否取消修改。", vbInformation + vbYesNo, "修改提示") = vbNo Then
  16.     Cancel = True
  17.     Me.Undo
  18. End If
  19. End Sub
复制代码
33#
 楼主| 发表于 2008-2-24 20:04:39 | 只看该作者
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim st1 As String
If Me.产品名称.OldValue <> Me.产品名称 Then st1 = "产品名称由 " & Me.产品名称.OldValue & " 修改成 " & Me.产品名称 & Chr(13)
If Me.单位数量.OldValue <> Me.单位数量 Then st1 = st1 & "单位数量由 " & Me.单位数量.OldValue & " 修改成 " & Me.单位数量 & Chr(13)
If Me.单价.OldValue <> Me.单价 Then st1 = st1 & "单价由 " & Me.单价.OldValue & " 修改成 " & Me.单价 & Chr(13)
If Me.库存量.OldValue <> Me.库存量 Then st1 = st1 & "库存量由 " & Me.库存量.OldValue & " 修改成 " & Me.库存量 & Chr(13)
If Me.订购量.OldValue <> Me.订购量 Then st1 = st1 & "订购量由 " & Me.订购量.OldValue & " 修改成 " & Me.订购量 & Chr(13)
If Me.再订购量.OldValue <> Me.再订购量 Then st1 = st1 & "再订购量由 " & Me.再订购量.OldValue & " 修改成 " & Me.再订购量 & Chr(13)
If Me.中止.OldValue <> Me.中止 Then st1 = st1 & "中止由 " & IIf(Me.中止.OldValue, "是", "否") & " 修改成 " & IIf(Me.中止, "否", "是") & Chr(13)
If Len(Trim(st1)) = 0 Then
    Me.Undo
    Exit Sub
End If
If MsgBox("数据已经修改" & Chr(13) & Chr(13) & st1 & Chr(13) & Chr(13) & "是否保存?" & _
    Chr(13) & "单击是保存,单击否取消修改。", vbInformation + vbYesNo, "修改提示") = vbNo Then
    Cancel = True
    Me.Undo
End If
End Sub

=========================================================================
就是如果当该项目没有数据时,输入新数据就不会提示(如当产品名称里有数据时修改后会提示,但是当没有数据里,在输入数据时就不会提示.)
这是为什么啊?
32#
发表于 2008-2-20 19:40:10 | 只看该作者
:lol :lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 02:58 , Processed in 0.113695 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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