我想学做控件,就做了一个(还没成功),可是在做的过程中遇到不知道如何取得控件的属性值,也就是在let和get两个过程中不知道怎么定义! 我的代码如下:
Dim intPgSize As Integer
Dim intCurPg As Integer
Dim intPgCounter As Integer
Dim Rs As Recordset
'Public Property Get intPgSize() As Integer
'
'End Property
'
'Public Property Let intPgSize(ByVal vNewValue As Integer)
'PropertyChanged "intPgSize"
'End Property
Public Property Get rsData() As Recordset
'rsData = Rs
End PropertyPublic Property Let rsData(ByVal vNewValue As Recordset)
'Rs = vNewValue
'PropertyChanged "rsData"
End Property
Public Sub First_Page(ByVal iPgSize As Integer)
 Dim lcount As Long
    Dim intCnt As Integer
    Dim Grssort As New ADODB.Recordset
    Set Grssort = Nothing
    intPgSize = iPgSize
    '首先将记录集移到首条记录
    rsData.MoveFirst
    '设置能够显示的记录数(页面规模)
    rsData.PageSize = intPgSize
    '页面总数设置
    intPgCounter = rsData.PageCount
    '设置当前页面,因为是首页,设置为1
    intCurPg = 1
    rsData.AbsolutePage = intCurPg
    '从当前记录集复制首页记录到过渡记录集
    '添加字段名称
On Error GoTo lab1
    For lcount = 0 To rsData.Fields.Count - 1
        Grssort.Fields.Append rsData.Fields(lcount).Name, adVarChar, rsData.Fields(lcount).DefinedSize
    Next
    '打开记录集
    Grssort.Open
    '将指定记录数循环添加到objrs中
    For lcount = 1 To intPgSize
        If Not (rsData.EOF Or rsData.BOF) Then
            Grssort.AddNew
            For intCnt = 0 To rsData.Fields.Count - 1
                If IsNull(rsData.Fields(intCnt)) Then
                    Grssort.Fields(intCnt).Value = ""
                Else
                    Grssort.Fields(intCnt).Value = rsData.Fields(intCnt).Value
                End If
            Next
            rsData.MoveNext
        End If
    Next
    '邦定
    Set Extender.DataSource = Grssort
    Set Grssort = Nothing
    Exit Sub
lab1:
    Set Grssort = Nothing
    MsgBox Err.Description
End Sub
我就是不知道如何在
Public Property Let rsData(ByVal vNewValue As Recordset)
'Rs = vNewValue
'PropertyChanged "rsData"
End Property
中的定义和初始化并取得这个rsData,也不知道我定义的对不对!还望大家赐教!还看看有什么地方需要改动!谢谢!

解决方案 »

  1.   

    Public Property Let rsData(ByVal vNewValue As Recordset)
    set Rs = vNewValue
    End PropertyPublic Property Get rsData() As Recordset
    set rsData = Rs
    End Property
      

  2.   

    还是有错误,说Can't find object or libbrary,可是我引用时已经引用了Microsoft ActiveX Data Objects 2.1 library了呀! 这句话错在Dim Rs As Recordset,我用Dim Rs as new Recordset还是不对!
      

  3.   


    Microsoft ActiveX Data Objects 2.1 library
    改为:
    Microsoft ActiveX Data Objects 2.0 library 试一下。
      

  4.   

    recordset 要跟connect对象联接才有用啊。
      

  5.   

    因为我把控件的extender默认为datagrid了,我其实是把控件放到datagrid的上了,但是好像系统默认我得控件的extender是form,这个我该怎么办呢,我得控件中的函数first_page最后写到了set extender.datasource= grssort,我如何让这个extender是datagrid呢?