我想学做控件,就做了一个(还没成功),可是在做的过程中遇到不知道如何取得控件的属性值,也就是在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,也不知道我定义的对不对!还望大家赐教!还看看有什么地方需要改动!谢谢!
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,也不知道我定义的对不对!还望大家赐教!还看看有什么地方需要改动!谢谢!
set Rs = vNewValue
End PropertyPublic Property Get rsData() As Recordset
set rsData = Rs
End Property
Microsoft ActiveX Data Objects 2.1 library
改为:
Microsoft ActiveX Data Objects 2.0 library 试一下。