收录日期:2019/03/21 00:14:51 时间:2016/05/26 22:24:01 标签:VB基础类
小弟在设计水晶报表的时候,设置了数据源(为本机上的数据源)。现在因为数据库在另一台机器,我要怎么样才能把报表的数据源设置成另一台机器上数据库(其中数据库为SQL中的存储过程),这样设置不行
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim para As New ADODB.Parameter
cmd.CommandText = "YZDPrint"                       '存储过程名
cmd.CommandType = adCmdStoredProc
Set para = cmd.CreateParameter("zdid", adVarChar)  '调用存储过程时的参数
cmd.Parameters.Append para
para ="200403001"
Set cmd.ActiveConnection = cn    ’连接对象已打开,在此省略
Set rs = cmd.Execute
Screen.MousePointer = vbHourglass
Report.Database.setdatasource rs
CRViewer91.ReportSource = Report
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
这样设置为什么不行?(还有200分另外开贴)
你的代碼明天測試,今天沒有空.....
Public Function make_connection() As Boolean
    db_err = ""
    ' set the connection string
    Dim connect_str As String
    connect_str = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=newman;password=newman;"
    connect_str = connect_str & "Initial Catalog=pubs;Data Source=192.168.11.254;Connect Timeout=30;Application Name=ListenEZ"
    On Local Error GoTo connection_error
    conn.Open connect_str
    make_connection = True
    Exit Function
    
connection_error:
    db_err = "Connect fail !! " & Err.Description
    make_connection = False
    Err.Clear
End Function

Dim rptapp As CRAXDRT.Application
Dim rpt As CRAXDRT.Report
Dim a(), g(1) As Single
Dim t As Integer, dt As Integer

Private Sub Command1_Click()
 CRViewer1.ShowFirstPage
End Sub

Private Sub Command2_Click()
  CRViewer1.ShowPreviousPage
End Sub

Private Sub Command3_Click()
  CRViewer1.ShowNextPage
End Sub

Private Sub Command4_Click()
  CRViewer1.ShowLastPage
End Sub


Private Sub Command5_Click()
  Form2.Hide
  Form1.Show
End Sub

Private Sub Form_Load()
   Set rptapp = CreateObject("crystalruntime.application")
   Set rpt = rptapp.OpenReport(App.Path & "\report.rpt")
   Dim g_sql As String
     g_sql = "select * from fft030735 with(nolock)"
  If Not make_i(g_sql) Then
     MsgBox "B"
      End
   End If
   rpt.DiscardSavedData
   rpt.Database.SetDataSource rs1
   CRViewer1.ReportSource = rpt
   CRViewer1.ViewReport
   CRViewer1.Left = Me.ScaleLeft
   CRViewer1.Top = Me.ScaleTop

   CRViewer1.EnableGroupTree = False
End Sub

求助!!!!!(急) 如何检测网线断开。 求助!!!!!(急急) 如何用代码创建桌面上的“快捷方式”,以及winAPI中的 GetModulehandle函数 用法 安装VJ++6.0的问题?(win2k pro) 恭喜发财!送分。。。。 请各位高手谈谈关于windows API的学习经验! 一个高手很容易解决的问题。。。。。。 给各位大虾加分100...请给个答案 高手请进:MFC 向导建立的文件编辑,如何设置字体? 关于mysql装好后的测试问题,请教大家 急救: 我的收藏,与大家共享(linux部分),希望大家去芜存菁。 如何在发布VB程序时做到所附带的Dll或 ocx文件最少? 以后的路怎么走?(一个大三学生的迷茫) 我要发疯了! 请问:如何通过函数/过程返回数组? .net将不支持java,大家怎么看? 用ACTIVEMOVIE控件怎样实现卡拉OK,而且必须两个音箱都有声 ~~~~~~~菜鸟发问:请看代码,一个关于消息处理的问题。 mysql无法启动,谁能指点 这里有网管大师么?小生请教几个问题? 20分的问题 RealPlayer的图 ie5于vb5的不兼容引起的乱码问题 用ACTIVEMOVIE控件怎样实现卡拉OK,而且必须两个音箱都有声音 确认表单问题 第一次在贵地提问题, 帮帮忙! NT4 server 怎样 起ftp server, 先行谢过 急急急!!!那位高手可以告诉我,如何编码控制datagrid控件的行数和列数,使它具有5行5列???? Kylix 的最新发展