Vb+access,数据库中有近二十张表,通过自增的shipno建立联系,shipno相同的记录是关于同一ship的不同方面的参数。Vb窗体中通过“名称”的查询,得到符合要求的一条记录,由该记录的shipno将一张张表中的记录显示出来,我想用SSTab控件,一个Tab显示一张表中的符合要求的记录,在Form-Load的时候用Adodc控件来连接数据表和界面上的Textbox,这样在Form-Load的时候就要用近二十个Adodc控件,请问这样做可以吗?如果不这样,有什么其他办法?谢谢
大概的代码如下:
Private Sub Form_Load()
Me.SSTab1.Tab = 0
With Adodc1
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\测试.mdb;"
        .RecordSource = "SELECT * FROM 参数1 where shipno=" & shipno
        Set Text1.DataSource = Adodc1
      Text1.DataField = "rudtype"
        Set Text2.DataSource = Adodc1
      Text2.DataField = "rudnu"
      ........(多个文本框的DataField和Adodc1连接)
End With
With Adodc2
       .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\测试.mdb;"
       .RecordSource = "SELECT * FROM 参数2 where shipno=" & shipno
        Set Text3.DataSource = Adodc2
       Text3.DataField = "rudarea"
      Set Text4.DataSource = Adodc2
       Text4.DataField = "rudgao"
        ........(多个文本框的DataField和Adodc2连接)
End With       
With Adodc3
       .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\测试.mdb;"
       .RecordSource = "SELECT * FROM 参数3 where shipno=" & shipno
        Set Text5.DataSource = Adodc3
        Text5.DataField = "rudkuan"
        Set Text6.DataSource = Adodc3
        Text6.DataField = "rudd"
         ........(多个文本框的DataField和Adodc3连接)
End With
       ...........(多个Adodc)
  Adodc1.Refresh
  Adodc2.Refresh
  Adodc3.Refresh
  .........
End Sub

解决方案 »

  1.   

    倒,怎么用那么多,一个全局recordset就解决了
    就算用adodc也要用那么多吗?当然影响啦
      

  2.   

    :),学习中。希望得到指教,谢谢!
    用全局recordset联到一张表后,(用SSTab)在一个Tab中由文本框显示出来后,再到另外的Tab时是不是要把这个全局recordset关闭,再重新联另外的一张表呢?而我再想回到开始看的那个记录时,又得再重新连接呢?
      

  3.   

    那要将近十五个recordset,这样可以吗?
    在各个SStab之间切换显示数据
      

  4.   

    你用一个就行,把每个文本框对应相应的datafield就行了。
    不用一个文框用一个的。没这么用的。
      

  5.   

    to  shenjr(长天秋水) :
    只需要连接一次就可以了。
      

  6.   

    谢谢各位,先
    有十几张表,一张表要一个recordset吧?
    SSTab的一个tab 对应一张表,用一个recordset怎么连呢?
      

  7.   

    这种做法很没有效率的。一个联接,一个recordset就可以了。
      

  8.   

    to:cqq_chen(我是谁)
    那怎么来实现我上面说的功能?谢谢
      

  9.   

    用一个怎么连呢?要在tab之间切换,切换过去后要能立刻看到数据,我想到的只用一个recordset的办法就是在切换到下一个tab时,关闭前一个recordset,再重新打开一个recordset连接一张新表,这样在切换tab时会不会有停滞的现象?
      

  10.   

    定义一个联接变量,一次性打开。后只要用一个recordset,一个一个打开表就可以了。
      

  11.   

    那前面很这个recordset连接的数据不是要变的,每个表中的字段也不一样多,
    还不是很清楚怎么用?
    笨呵呵