关于vb和mssql打印的一些问题 (给高分 !!!急!!!!!!!!!!)
我最近要写一个程序,mssql的db数据库有3个表,我想打印的时候显示的字段包括3个表中的内容,我该怎么用vb实现,
环境是用vb直接连接mssql,没有经过odbc,如果不用DataReport设计器,怎么做
vb连sql的模块如下:
Dim rdoRS As ADODB.Recordset
'连接数锯库
Dim rdoConn As New Connection
With rdoConn
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;PWD=;Data Source=(local);" & "Initial Catalog=db"
.Open
End With
'连接记录
Set rdoRS = New Recordset
With rdoRS
.Open Trim$(CurrentTable), rdoConn, adOpenDynamic, adLockOptimistic
Set conn_sqlserver = rdoRS
End With
要求打印前有打印预览!(必须)
问题点数:0、回复次数:23Top
1 楼yangkezhu(阳克)回复于 2004-12-03 08:16:57 得分 0
第一:用别人的控件.第二:自己写一个控件.第三还是用DATAREPORTTop
2 楼sjc_cc()回复于 2004-12-03 08:30:33 得分 0
第二:自己写一个控件.第三还是用DATAREPORT
都可以,写具体的我再给50分Top
3 楼True1024()回复于 2004-12-03 08:53:37 得分 0
主席说了自己动手丰衣足食。Top
4 楼zycxs(丝鱼)回复于 2004-12-03 09:17:36 得分 0
用DB report 控件吧可以打印ADO记录集很好用,网上找得到动态记录集只要三行就可以了
tdbreport1.RecordSource ="select * form tablename where fild='"+ 筛选参数+"'"
tdbreport1.refresh
tdbreport1.printview
就可以了很快捷的Top
5 楼Plutoxkxu(★深渊★)回复于 2004-12-03 09:19:00 得分 0
upTop
6 楼sjc_cc()回复于 2004-12-03 09:24:11 得分 0
用DB report 控件吧可以打印ADO记录集很好用,网上找得到动态记录集只要三行就可以了
tdbreport1.RecordSource ="select * form tablename where fild='"+ 筛选参数+"'"
tdbreport1.refresh
tdbreport1.printview
就可以了很快捷的
可以多表吗?谢谢,发我信箱我的是sjc-cc@sohu.com 最好都代码,我看看,一定加分
tdbreport1的参数怎么控制,Top
7 楼love880770(俗人)回复于 2004-12-03 15:24:06 得分 0
你为什么不用存储过程。通用存储过程把数据写到一个表,然后把记录集赋给DATAREPORT.
财务报表都可以做,还有什么报表比财务报表难做。
Top
8 楼zycxs(丝鱼)回复于 2004-12-03 16:55:43 得分 0
你的E-MAIL是不是有问题发不过去,自已去http://www.grapecity.com/china/tools/tools_download_trial_language.htm下载吧Top
9 楼sjc_cc()回复于 2004-12-03 22:49:52 得分 0
你为什么不用存储过程。通用存储过程把数据写到一个表,然后把记录集赋给DATAREPORT.
财务报表都可以做,还有什么报表比财务报表难做。
给我一个具体的代码,谢谢了
zycxs(丝鱼) 我要写论文,所以要代码,控件,最好不用,谢谢了,小弟谢谢你们了,给分一定给多分Top
10 楼love880770(俗人)回复于 2004-12-05 14:50:35 得分 0
把你的三个数据表列出来,把需要显示的结果写出。我可以给你参考一下答案。Top
11 楼sjc_cc()回复于 2004-12-05 22:09:35 得分 0
名字,地址,工资,福利,
Top
12 楼sjc_cc()回复于 2004-12-07 07:51:59 得分 0
快点回复呀,还没解决的,我给高分呀Top
13 楼sjc_cc()回复于 2004-12-09 08:36:07 得分 0
怎么没人回复,急呀Top
14 楼zycxs(丝鱼)回复于 2004-12-09 08:56:04 得分 0
为什么一定要代码呢编程不是就想方便嘛别人有好的控件是可以借鉴的嘛
我试过了,如果是用APEX true dbreport 在写SQL时可以这样写 select * from 表1, 表2 ,表3
然后在页面设置时可以设条件:表1.字段1=表2.字段1 是比较好用Top
15 楼sjc_cc()回复于 2004-12-09 09:16:21 得分 0
但我要论述,我怎么写呀,还是代码方便Top
16 楼zycxs(丝鱼)回复于 2004-12-09 09:44:00 得分 0
那就只有用printer对象喽Top
17 楼sjc_cc()回复于 2004-12-09 21:08:00 得分 0
具体一点呀Top
18 楼aohan(aohan)回复于 2004-12-09 21:38:58 得分 0
引入水晶报表4.6,我将例子中MSFlexGrid1的内容导到水晶报表中,打印预览可以自动实现,也可以直接驱动打印机
Dim Pubmdb As New ADODB.Connection '
Dim StrSql As String
Dim str_mdb As String
Dim PUBRS As New ADODB.Recordset
Dim i, j As Integer
CrystalReport1.ReportFileName = App.Path & "\bb.rpt"
str_mdb = "Driver={Microsoft Access Driver (*.mdb)};Uid=;Pwd=;Dbq= " & App.Path & "\Report.mdb"
Pubmdb.Open str_mdb
Pubmdb.Execute "delete * from Report"
StrSql = "select * from Report"
PUBRS.Open StrSql, Pubmdb, adOpenKeyset, adLockPessimistic
If Trim(MSFlexGrid1.TextMatrix(1, 0)) <> "" Then
For i = 1 To MSFlexGrid1.Rows - 1
PUBRS.AddNew
For j = 0 To MSFlexGrid1.Cols - 1
If Trim(MSFlexGrid1.TextMatrix(i, j)) <> "" Then
PUBRS.Fields(j) = Trim(MSFlexGrid1.TextMatrix(i, j))
End If
Next
PUBRS.Update
Next
End IfTop
19 楼sjc_cc()回复于 2004-12-10 06:54:38 得分 0
水晶报表4.6,能不能用我上面的模块,然后用datareaport做,怎么做,我急呀Top
20 楼sjc_cc()回复于 2004-12-11 20:23:43 得分 0
大家快来帮我呀Top
21 楼TrueYi()回复于 2004-12-12 15:59:40 得分 0
也想知道Top
22 楼sjc_cc()回复于 2004-12-16 11:10:19 得分 0
怎么没人回复吗,这个就那么难吗?Top
23 楼luanfa1977()回复于 2004-12-16 20:29:58 得分 0
你是想叫人找一个这样的打印组件还是想叫别人告诉你怎么做这个打印组件呢?欢迎交流,QQ:199971175Top




