| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4316 人关注过本帖, 1 人收藏
标题:VB6+Datareport+Access 如何实现只打印其中的一条记录?
只看楼主 加入收藏
VB丶小宇
Rank: 3Rank: 3
来 自:河北省石家庄市
等 级:论坛游侠
帖 子:172
专家分:142
注 册:2013-3-11
结帖率:96.77%
收藏(1)
已结贴  问题点数:20 回复次数:14 
VB6+Datareport+Access 如何实现只打印其中的一条记录?
RT,
VB6+Datareport+Acces如何实现只打印其中的一条记录?
只是用Datareport简单的设置了下,打印是打印Access中的全部记录,怎么写代码能单独打印某一条记录?
度娘了好多,找不到解决办法啊,求指导!
通俗点说,想要实现的功能就是,向Access数据库中添加一条记录,那么就打印出刚刚添加的记录。求指导!
--------------------------------------------------------------------------------------------
这样把,上传下源文件:
test.rar (54.08 KB)

想要实现的功能,就是每添加一条记录,就弹出一个询问是否打印的窗口,如果是的话,就打印刚才添加的那条记录,没思路啊。。求指导!

[ 本帖最后由 VB丶小宇 于 2014-8-1 22:12 编辑 ]
搜索更多相关主题的帖子: 如何 记录 源文件 数据库 
2014-07-31 14:30
VB丶小宇
Rank: 3Rank: 3
来 自:河北省石家庄市
等 级:论坛游侠
帖 子:172
专家分:142
注 册:2013-3-11
收藏
得分:0 
问题很难解决么。。这么长时间了,没人遇到过吗?

编程最蛋疼的事:不是编程多么累,而是编完后,一点运行,出现四个字:程序错误。。。
2014-08-01 16:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
1、DataReport ,什么叫报表,就是把整个表都打印出来的。
2、使用这个作为数据源,我还没找到如何让这个数据源 使用 SQL 命令。它是打开整张表的。无语。
3、DataReport 无法使用 ADOBC 作为数据源。更无语。

解决办法:
1、使用自定义打印的方式打印吧。

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-01 23:17
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
还有一种解决办法就是 生成临时表。
临时表里,就这么一条记录。然后打印。
打印完了,清空临时表来。

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-02 11:21
VB丶小宇
Rank: 3Rank: 3
来 自:河北省石家庄市
等 级:论坛游侠
帖 子:172
专家分:142
注 册:2013-3-11
收藏
得分:0 
回复 3 楼 风吹过 b
自定义的方式打印是什么?个人还没有接触过,劳烦您能指教下,我在百度上看到了一个锐浪报表,用这个可以单独打印指定的某条记录吗?

编程最蛋疼的事:不是编程多么累,而是编完后,一点运行,出现四个字:程序错误。。。
2014-08-02 12:50
VB丶小宇
Rank: 3Rank: 3
来 自:河北省石家庄市
等 级:论坛游侠
帖 子:172
专家分:142
注 册:2013-3-11
收藏
得分:0 
回复 4 楼 风吹过 b
嗯,我也有这样的思路。可是还是感觉无从下手啊,劳烦您说个切入点!

编程最蛋疼的事:不是编程多么累,而是编完后,一点运行,出现四个字:程序错误。。。
2014-08-02 12:50
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
让 DataEnvironment1 使用SQL 查询的方法:

1、Command1的属性里修改:
默认是数据库对象,对象名字是一个表。
修改为:
SQL 语句 模式。
然后下面的框内,必须不能为空。如输入:
select * from BRYJtable
----
DataEnvironment1要求必须能读到一个表,以便显示字段名。
确定后。继续第二步。

2、打印代码:

Private Sub Command2_Click()
'修改 SQL 命令,查询刚输入了 票据号
("Command1").CommandText = " select * from BRYJtable where 票据号 = " & Text1.Text & ";"

然后再打开。
DataReport1.Show
End Sub


=================
总算找到了让 DataEnvironment 执行SQL 的方法。

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-02 18:48
VB丶小宇
Rank: 3Rank: 3
来 自:河北省石家庄市
等 级:论坛游侠
帖 子:172
专家分:142
注 册:2013-3-11
收藏
得分:0 
回复 7 楼 风吹过 b
按您这样设计的话,仍旧有缺陷。
如图:操作示例
图片附件: 游客没有浏览图片的权限,请 登录注册

向Datagrid控件成功的添加了一条记录,然后单击打印按钮。
图片附件: 游客没有浏览图片的权限,请 登录注册

可以看到,成功的实现了打印一条记录的要求!
但是,继续添加。
图片附件: 游客没有浏览图片的权限,请 登录注册

添加成功,此时再次单击打印按钮。
图片附件: 游客没有浏览图片的权限,请 登录注册

解决方案:必须添加一条记录后,退出程序,从新运行,才能继续!
故本人认为不完美,正在改进。。

编程最蛋疼的事:不是编程多么累,而是编完后,一点运行,出现四个字:程序错误。。。
2014-08-02 21:50
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
刚测试了,真是你说的这种的,只能用一次。

那好吧。
使用自定义打印。

自定义打印,使用对象
Printer
这个对象代表默认打印机。
先定位,然后再打印。

操作方式,像操作PictureBox 一样。你写程序时。
可以在窗体上放一个 Picture1 ,设置如 A4纸的大小,
然后到这个 Picture1 上进行定位,打印内容,还可以画线。

祝你好运吧。
报表系统本来就不适合用来打印一条记录的。
-
如果你还是想用 报表系统来打印一条记录,那还有一个办法。
就是做成二个应用。
第二个应用需要带参数启动,不带参数时,打印所有的东西。
带参数启动时,就打印参数的内容。

====
ADOBC的操作,添加记录什么,都尽量使用 SQL 命令进行添加删除。
SQL命令速度更快,更容易发现错误出在哪里。
代码更短小。

test.rar (34.77 KB)

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-02 22:50
VB丶小宇
Rank: 3Rank: 3
来 自:河北省石家庄市
等 级:论坛游侠
帖 子:172
专家分:142
注 册:2013-3-11
收藏
得分:0 
回复 9 楼 风吹过 b
其实是还有办法,我朋友这样改了程序,就能打印了,还是不改变原有程序的情况下。我贴上来,有些代码不懂,还劳烦您给添加个注释。
test11.rar (72.75 KB)

程序代码:
If i = vbOK Then
Dim strsql As String
strsql = "select * from BRYJtable where 票据号= " + Text1.Text
(1).CommandText = strsql
If DataEnvironment2.rsCommand1.State <> adstateclose Then
DataEnvironment2.rsCommand1.Close
   End If
Set DataReport1.DataSource = DataEnvironment2
DataReport1.Show
Else

 End If
End Sub

编程最蛋疼的事:不是编程多么累,而是编完后,一点运行,出现四个字:程序错误。。。
2014-08-02 23:30
快速回复:VB6+Datareport+Access 如何实现只打印其中的一条记录?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020228 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved