function AdodbCcn_2DuanTS()         Set cnn_2DuanTS = New ADODB.Connection
         strDSN_2DuanTS = "Provider=SQLOLEDB;Data Source=lxz;Initial Catalog=oiltalimu; User ID=SUPERMAN;Password='';"
         cnn_2DuanTS.Open strDSN_2DuanTS        Set rs1_2DuanTS = New ADODB.Recordset
        Set rs2_2DuanTS = New ADODB.Recordset
        Set rs3_2DuanTS = New ADODB.Recordset
        Set rs4_2DuanTS = New ADODB.Recordset
        str1_2DuanTS = "select  top 12 * from 脱水转油综报1 order by DATATIME DESC"
        str2_2DuanTS = "select  top 12 * from 脱水转油综报2_1 order by DATATIME DESC"
        str3_2DuanTS = "select  top 12 * from 脱水转油综报2_2 order by DATATIME DESC"
        str4_2DuanTS = "select  top 12 * from 脱水转油综报3 order by DATATIME DESC"
        rs1_2DuanTS.Open str1_2DuanTS, cnn_2DuanTS, adOpenKeyset, adLockOptimistic, adCmdText
        rs2_2DuanTS.Open str2_2DuanTS, cnn_2DuanTS, adOpenKeyset, adLockOptimistic, adCmdText
        rs3_2DuanTS.Open str3_2DuanTS, cnn_2DuanTS, adOpenKeyset, adLockOptimistic, adCmdText
        rs4_2DuanTS.Open str4_2DuanTS, cnn_2DuanTS, adOpenKeyset, adLockOptimistic, adCmdText
        
        nn_2DuanTS = rs2_2DuanTS!DataTime
        tt1 = GetTime(nn_2DuanTS)
        tt2 = SysTime()
 ///////// 
                = rs3_2DuanTS!VIR102
                = rs3_2DuanTS!VIR103
                = rs3_2DuanTS!VIR104
                = rs3_2DuanTS!VIR105
                = rs1_2DuanTS!TIR133
                = rs4_2DuanTS!PIR138
                = rs2_2DuanTS!LIR118
                = rs2_2DuanTS!LIR119
                = rs2_2DuanTS!rs2_2DuanTS.Close
///////////
rs3_2DuanTS.Close
rs4_2DuanTS.Close
End function
想返回斜线部分中的记录集中的字段值
函数应该怎么写呢?
谢谢

解决方案 »

  1.   

    function AdodbCcn_2DuanTS() as collection
    //////////////////////
    AdodbCcn_2DuanTS.Add item := rs3_2DuanTS!VIR102,  key := "1"
    AdodbCcn_2DuanTS.Add item := rs3_2DuanTS!VIR103,  key := "2"
    ......
    /////////////////////
      

  2.   

    定义一个数组或结构体看实际情况

    private type RET_VALUE
        str1 as string
        str2 as string
        ......
    end typeprivate MyValue as RET_VALUE
    private function getvalue() as RET_VALUE   dim MyValue as RET_VALUE   with MyValue
            .str1=rs3_2DuanTS!VIR102
            .str2=rs3_2DuanTS!VIR103
          ......
       end with
       getvalue=Myvalue
    end function 
      

  3.   

    上面所说的在调用的时候可否在定义一个结构体
    如:dim myvalue2 as RET_VALUE
    myvalue2=getvalue
    可以这样吗?
      

  4.   

    1,rs1_2DuanTS   只要一个就好,循环执行。。
    2,用,
    do while not rs1_2duants.eof()   str=rs1_2DuanTS!....
       ...
       
       rs1_2DuanTS.movenext
      
    loop