简单的打印问题~~~
我添加了DataEnvironment1,里面connection添加了几个command1,绑的全部的表,请问怎么把下面的内容打印出来?
比如按form1里的command1就会打印。
打印的内容:
select Store.ProId as 产品代号,ProName as 产品名称,ProStyle as 型号,ProUnit as 单位,Quantity as 数量, ProDescribe as 备注 from Store join Product on Product.ProId=Store.ProId where " + Trim(a) + " " & "like +'" + Trim(Text1.Text) + "'+ '%'"
问题点数:50、回复次数:11Top
1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-10 10:58:01 得分 40
请参考(如果不是sql数据库,请自己把数据库的连接改过来):
Private Sub DataReport_Initialize()
Dim AdoCon As New ADODB.Connection
Dim AdoRec As New ADODB.Recordset
Dim ctl As Object
'具体的数据库连接自己改过来
AdoCon.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx"
AdoRec.Open "select 姓名,年龄,学历,性别 from Test", AdoCon, adOpenDynamic, adLockReadOnly
With Me
Set .DataSource = AdoRec
For Each ctl In .Sections.Item("Section1").Controls
If TypeName(ctl) = "RptTextBox" Then
Select Case ctl.Name
Case "Text1"
ctl.DataField = AdoRec!姓名.Name
Case "Text2"
ctl.DataField = AdoRec!年龄.Name
Case "Text3"
ctl.DataField = AdoRec!学历.Name
Case "Text4"
ctl.DataField = AdoRec!性别.Name
End Select
End If
Next
End With
Me.PrintReport '直接打印
End SubTop
2 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-10 10:59:29 得分 0
用上面的代码,不需要DataEnvironment1,只在DataReport里添加好控件就可以了Top
3 楼jobs002(Oh! Office)回复于 2006-03-10 11:15:40 得分 0
学习一下了...Top
4 楼fxj331072(白天与黑夜)回复于 2006-03-10 11:19:18 得分 0
打印的内容:
select Store.ProId as 产品代号,ProName as 产品名称,ProStyle as 型号,ProUnit as 单位,Quantity as 数量, ProDescribe as 备注 from Store join Product on Product.ProId=Store.ProId where " + Trim(a) + " " & "like +'" + Trim(Text1.Text) + "'+ '%'"
我里面不只是数据库的字段,我要查找where " + Trim(a) + " " & "like +'" + Trim(Text1.Text) + "'+ '%'"
Private Sub DataReport_Initialize() 里面没有变量a
Top
5 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-10 11:30:22 得分 0
Private Sub DataReport_Initialize() 里面没有变量a
------------------------------------
把a放到模块里定义,定义为public类型Top
6 楼fxj331072(白天与黑夜)回复于 2006-03-10 13:07:05 得分 0
With Me
Set .DataSource = rs
For Each ctl In .Sections.Item("Section1").Controls
If TypeName(ctl) = "RptTextBox" Then
Select Case ctl.Name
Case "Text1"
ctl.DataField = rs!产品代号.Name
Case "Text2"
ctl.DataField = rs!产品名称.Name
Case "Text3"
ctl.DataField = rs!型号.Name
Case "Text4"
ctl.DataField = rs!单位.Name
End Select
End If
Next
End With
Me.PrintReport '直接打印
只能把字段名字显示出来,字段数据在预览里看不到,
还有就是怎么能控制高度和网格,这我第一次打印,都不知道Top
7 楼rayxu(有心就成)回复于 2006-03-10 13:56:13 得分 0
控制报表的高度和宽度还有上边界和下边界,都是在DataReport属性时面去设置,如果你不知道是哪个属性的话,建议一个个选中他们的属性然后看一下下面的解释,这样会比较好一点。下面这个是我写的一个根据条件打印的例子。
Private Sub cmdEnter_Click()
Set DataEzsb1 = Nothing
DataEzsb1.rsCommand1.Open "select * from 注塑部基本信息 where (注塑部基本信息." & Combo1.Text & " like + '" + Text2.Text + "'+'%') and 注塑部基本信息." & Combo2.Text & " like + '" + Text6.Text + "'+'%' order by 生产单号"
If DataEzsb1.rsCommand1.RecordCount > 0 Then
DRzsb.Show
Else
MsgBox "此项不存在,请重新输入!"
DataEzsb1.rsCommand1.Close
End If
End Sub
Top
8 楼fxj331072(白天与黑夜)回复于 2006-03-10 15:33:42 得分 0
rayxu(有心就成)
你怎么定义的?数据环境和数据报告用手动设置么`?
Top
9 楼fxj331072(白天与黑夜)回复于 2006-03-10 19:16:06 得分 0
谁能帮我一下`~~?~~Top
10 楼fxj331072(白天与黑夜)回复于 2006-03-11 10:20:12 得分 0
自己顶一下~~Top
11 楼rayxu(有心就成)回复于 2006-03-11 12:35:58 得分 10
你没有设置好数据源的属性,照下列的方法做就行了。
先把DataEnvironmen在他的connection属性里设置好你要连接的数据库,在command1属性里设置你要打印的表。
添加DataReport的Datamember的属性没有设置成你添加的命令(默认的为command1)
把这几个属性设计好了就可以了。Top




