数据处理窗口CloseQuery事件编程

该事件下的脚本流程是首先判断数据是否修改过,如果修改过,则让用户选择是否保存,用户确认保存则保存,不保存则退回事务然后关闭窗口。保存数据时,保存成功则直接关闭窗口,保存失败则让用户确认是否关闭窗口,用户确认要关闭则关闭窗口。脚本如下:
int li_flag
If dw_1.ModifiedCount() <> 0 or dw_1.DeletedCount() <> 0 Then
Beep(2)
li_flag = MessageBox("确认","数据已经修改,是否保存",Question!,YesNoCancel!,1)
Choose Case li_flag
Case 1//用户要求保存
If dw_1.Update() = 1 Then//如果保存成功
commit;//提交数据
return 0//关闭窗口
Else//保存不成功
rollback;//回退事务
Beep(2)//响铃两声
//让用户确认是否关闭窗口
If MessageBox("错误","数据保存不成功,是否还要关闭窗口?",&
Question!,YesNo!,2) = 1 Then
return 0//关闭窗口
Else
return 1//不关闭窗口
End If
End If
Case 2//不保存数据
rollback;//回退事务
return 0//关闭窗口
Case 3//用户选择了Cancel
return 1//不允许关闭窗口
End Choose
Else//数据窗口中的数据没有修改过
return 0//直接关闭窗口
End If
上面的脚本也可以简化成以下语句:
If dw_1.ModifiedCount() <> 0 or dw_1.DeletedCount() <> 0 Then
Beep(2)
MessageBox("提示", "数据已经修改,请先保存数据再退出! ")
Return 1
Else
Close(parent)
End If
这样的语句修改后很简洁,但用户必须首先使用“保存”按钮保存数据,然后才能单击“退出”按钮关闭窗口,也就是说程序硬性规定了用户的执行流程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值