设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: lymin
打印 上一主题 下一主题

[窗体] 怎样才能使绑定数据源的主子窗体只有按保存打印后才保存数据

[复制链接]
11#
发表于 2011-1-1 15:00:58 | 只看该作者
DoCmd.Runsql "DELETE 临时表.* FROM 临时表"
Me.Requery
12#
发表于 2011-1-1 15:25:03 | 只看该作者
lymin 发表于 2010-12-31 14:28
怎样才能使绑定数据源的主子窗体只有按保存打印后才保存数据?
我作一装箱标签打印系统,现已完成了大部分 ...

可用Undo是对窗体或控件的修改失效,就你的问题来说应该在卸载窗体事件中用Undo来解决问题。如何来判断是否应该使数据失效呢?可以采用两个方式,其一是在窗体模块中设一个逻辑型公共变量,点击保存按钮将该变量值修改为Ture。卸载时变量如果为Ture,则不做Undo。其二是点击保存按钮时改变按钮的标签Caption,卸载时通过判断按钮的Caption来决定是否做Undo。

13#
发表于 2011-1-1 19:25:43 | 只看该作者
版主也不妥,进入子窗体主记录已经保存了,如何undo
14#
发表于 2011-1-1 20:22:01 | 只看该作者
窗体绑定记录源没事,你把窗体中各控件的控件来源设置为空就行了
15#
发表于 2011-1-1 22:51:17 | 只看该作者
很简单的事情怎么弄得这么复杂!打印过的数据在主表加一个标志字段,那么没做过标志的记录就当它不存在好了。
16#
发表于 2011-1-2 14:53:34 | 只看该作者
我现在想只有在按了“保存打印标签”按钮后才保存主子窗体输入的数据,要怎么做呢?(注意:这二个窗体都是绑定数据源的

按你的要求,要求的是主、子窗体,以我的经验只有二个办法,


按你原来的方法用绑定表及进行处理,很麻烦的。因为当你进入子窗体时,主窗的数据已经被保存了,如果你硬要这么做到,也是可以行的,我原来也做过,不过代码量及烦所度很大,不如用非绑定ADO+控件,处理起来简单顺手。

我用两个方法供参考
一个是用临时表处理子窗体数据,主窗体用半绑定的方法进行处理方可达到要求。


方法二是:
主子窗体都不绑定,主窗体的数据在单击保存时,用ADO写入到主表中
子窗体的数据用 表格控件处理,只用你在单击保存时,方可用ADO把 表格控件 里的数据写入到子表中。

以上两个方法都可以


17#
发表于 2011-1-2 20:40:36 | 只看该作者
非绑定窗体要做成绑定窗体左下角的记录条的效果也不容易。

点击这里给我发消息

18#
发表于 2015-6-15 17:31:32 | 只看该作者
好复杂!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 19:34 , Processed in 0.085067 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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