设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 7361|回复: 17
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-12-31 14:28:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
怎样才能使绑定数据源的主子窗体只有按保存打印后才保存数据?
我作一装箱标签打印系统,现已完成了大部分,遇到一个问题,我的标签内容输入界面是由一主、子窗体构成,并且主子窗体都绑定有表数据源的,由“装箱时间”和“单号”二个字段链接主子窗体,我现在想只有在按了“保存打印标签”按钮后才保存主子窗体输入的数据,要怎么做呢?(注意:这二个窗体都是绑定数据源的)。请指教!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

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

使用道具 举报

17#
发表于 2011-1-2 20:40:36 | 只看该作者
非绑定窗体要做成绑定窗体左下角的记录条的效果也不容易。
16#
发表于 2011-1-2 14:53:34 | 只看该作者
我现在想只有在按了“保存打印标签”按钮后才保存主子窗体输入的数据,要怎么做呢?(注意:这二个窗体都是绑定数据源的

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


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

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


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

以上两个方法都可以


15#
发表于 2011-1-1 22:51:17 | 只看该作者
很简单的事情怎么弄得这么复杂!打印过的数据在主表加一个标志字段,那么没做过标志的记录就当它不存在好了。
14#
发表于 2011-1-1 20:22:01 | 只看该作者
窗体绑定记录源没事,你把窗体中各控件的控件来源设置为空就行了
13#
发表于 2011-1-1 19:25:43 | 只看该作者
版主也不妥,进入子窗体主记录已经保存了,如何undo
12#
发表于 2011-1-1 15:25:03 | 只看该作者
lymin 发表于 2010-12-31 14:28
怎样才能使绑定数据源的主子窗体只有按保存打印后才保存数据?
我作一装箱标签打印系统,现已完成了大部分 ...

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

11#
发表于 2011-1-1 15:00:58 | 只看该作者
DoCmd.Runsql "DELETE 临时表.* FROM 临时表"
Me.Requery
10#
 楼主| 发表于 2011-1-1 14:47:36 | 只看该作者
LJB 发表于 2010-12-31 21:05
从图中看,应该子表中会有多条记录,建议用临时表,打印时用追加查询应该可以搞定!

我照你的方法用临时表,但每次删除临时表的时候,就会出现控件内容显示“#已删除的”这个问题,如图.要怎么解决呢?

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-19 13:08 , Processed in 0.091055 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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