不用ADO控件绑field控件,用代码实现。应该怎么做,有人能提供代码吗??

解决方案 »

  1.   

    Dim cn0 As ADODB.Connection '定义连接
    Dim rs0 As ADODB.Recordset '定义记录集
    Dim strcn0 As String
    Private Sub ActiveReport_ReportStart()
    Set cn0 = New ADODB.Connection
    Set rs0 = New ADODB.Recordset
    strcn0 = "driver={SQL server};server=wfxq;uid=sa;pwd=;database=wfrz" '连接信息赋予字符串
    cn0.Open strcn0
    Set rs0.ActiveConnection = cn0
    rs0.CursorLocation = adUseClient
    rs0.CursorType = adOpenKeyset
    rs0.LockType = adLockBatchOptimistic
      Data1.Source = "select * from b1"Data1.Refresh  Field1 = rs0!z1
      Field2 = rs0!z2rs0.CloseEnd Sub
      

  2.   

    我用的是ASCESS数据库,好像连接不了啊
      

  3.   

    strcn0= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\Printdoc\printdoc.mdb;Persist Security Info=False"
    其中  e:\Printdoc\printdoc.mdb  
    改为你要使用的ACCESS数据库的目录及名字
    并且
    data1.Source=(查询语句,查MSDN吧  Select * from <表名> [Where <关系表达式>]
    就行了
      

  4.   

    如果你使用的是ACCESS97的话,将上面我的代码第6行换成
    StrCn = "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source="
     StrCn = StrCn & App.Path & "\SoftPass.mdb;"
     StrCn = StrCn & "Jet OLEDB:Database Password=;" '密码;"如果你使用的是ACCESS2000的话,将上面我的代码第6行换成
    StrCn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source="
     StrCn = StrCn & App.Path & "\SoftPass.mdb;"
     StrCn = StrCn & "Jet OLEDB:Database Password=;" '密码;"只能显示一条记录 的原因有:
    1、你打开的表中只有1条记录;
    2、你没有把Field1控件放置到activereport的Detail部分,而放到了PageHeader或其他地方。