谁有在vb中如何使用水晶报表资料

zy000 2003-08-19 12:01:16
谁有在vb中如何使用水晶报表资料.
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
裸男 2003-08-20
  • 打赏
  • 举报
回复
学习ing
zy000 2003-08-19
  • 打赏
  • 举报
回复
水晶报表的宽度怎么设
zy000 2003-08-19
  • 打赏
  • 举报
回复
adoPrimaryRS1.Open sql1, db, adOpenDynamic, adLockOptimistic
db 是不是 ADODB.Connection,如不是该如何使
jornet 2003-08-19
  • 打赏
  • 举报
回复
http://www.ourfly.com/forum/View.aspx?fbId=7&Id=422
http://www.crystaldecisions.com/
jornet 2003-08-19
  • 打赏
  • 举报
回复
建议按照下面的代码:


/////这段代码真正的实现了vb+ADO模型和水晶报表9动态连接数据库和打开多个表的的功能,包括动态的服务器名称/动态的数据库/动态的登陆名和登陆密码.///////////

Option Explicit

Dim db As New Connection
'定义5个记录集,打开5个表
Dim adoPrimaryRS1 As New Recordset
Dim adoPrimaryRS2 As New Recordset
Dim adoPrimaryRS3 As New Recordset
Dim adoPrimaryRS4 As New Recordset
Dim adoPrimaryRS5 As New Recordset

Dim CPProperty As CRAXDRT.ConnectionProperty
Dim DBTable As CRAXDRT.DatabaseTable

Private Sub Report_Initialize()
On Error Resume Next
Dim sql1 As String, sql2 As String, sql3 As String, sql4 As String, sql5 As String
Dim user As String
Dim pass As String
Dim da As String
Dim server As String
Dim i As Integer

server = GetSetting(App.Title, "数据库设置", "服务器名")
user = GetSetting(App.Title, "数据库设置", "数据库登录名")
pass = GetSetting(App.Title, "数据库设置", "登录密码")
da = GetSetting(App.Title, "数据库设置", "数据库名")


database.LogOnServer "p2ssql.dll", server, da, user, pass

Call Module1.getCon(db)

If adoPrimaryRS1.State = 1 Then adoPrimaryRS1.Close
If adoPrimaryRS2.State = 1 Then adoPrimaryRS2.Close
If adoPrimaryRS3.State = 1 Then adoPrimaryRS3.Close
If adoPrimaryRS4.State = 1 Then adoPrimaryRS4.Close
If adoPrimaryRS5.State = 1 Then adoPrimaryRS5.Close

sql1 = "SELECT 订单编号,客户编号,客户名称,客户级别,联系人,电话,传真,手机,印品名称,数量,备品数量,预付订金,付款方式,付款日期,交货方式,单价,规格,印品简述 FROM 订单基本信息库 WHERE 订单编号='" & frm订单开单.txtfields(2).Text & "' "

sql2 = "SELECT 订单编号,项目编号, 项目名称,印品开数,度,页码,正面墨色, 反面墨色,印刷工艺,印机编号,数量,印刷开数,纸克重,纸编号,自来纸,自来片,自来样,自来版,平均单价 FROM 订单项目库 WHERE 订单编号='" & frm订单开单.txtfields(2).Text & "'"

sql3 = "SELECT 订单编号,项目编号,车间序号,用途区分, 工种大类,工种编号,工种名称,工艺,规格,工艺要求,单位,数量,加放数量,单价 FROM 订单工种明细 WHERE 订单编号='" & frm订单开单.txtfields(2).Text & "'"

sql4 = "SELECT 订单编号, 项目编号, 车间序号, 用途区分, 工种大类, 物品编号, 品牌, 物品名称, 分类, 开数, 规格, 单位, 数量, 加放数量, 单价 FROM 订单物品明细 WHERE 订单编号='" & frm订单开单.txtfields(2).Text & "'"

sql5 = "select 单位名称,第二名称,地址,邮编,电话 from 用户单位信息表 where 1=1"

adoPrimaryRS1.Open sql1, db, adOpenDynamic, adLockOptimistic
adoPrimaryRS2.Open sql2, db, adOpenDynamic, adLockOptimistic
adoPrimaryRS3.Open sql3, db, adOpenDynamic, adLockOptimistic
adoPrimaryRS4.Open sql4, db, adOpenDynamic, adLockOptimistic
'adoPrimaryRS5.Open sql5, db, adOpenDynamic, adLockOptimistic

For i = 0 To database.Tables.count - 1

Set DBTable = database.Tables(i)
Set CPProperty = DBTable.ConnectionProperties("Data Source")
CPProperty.Value = server
Set CPProperty = DBTable.ConnectionProperties("User ID")
CPProperty.Value = user
Set CPProperty = DBTable.ConnectionProperties("Password")
CPProperty.Value = pass

Next


database.SetDataSource adoPrimaryRS1, 3, 1
database.SetDataSource adoPrimaryRS2, 3, 2
database.SetDataSource adoPrimaryRS3, 3, 3
database.SetDataSource adoPrimaryRS4, 3, 4
database.SetDataSource adoPrimaryRS5, 3, 5

End Sub

Private Sub Report_Terminate()
Set adoPrimaryRS1 = Nothing
Set adoPrimaryRS2 = Nothing
Set adoPrimaryRS3 = Nothing
Set adoPrimaryRS4 = Nothing
Set adoPrimaryRS5 = Nothing
Set db = Nothing
End Sub

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧