在VBA中如何使用ADODC控件
我在VBA的窗体上放了一个ADODC的控件,象在VB中操作一样,把数据源也连好了,可是运行程序的时候,ADODC控件变为灰度,不可用,在VBA中使用ADODC控件与在VB中有很大区别吗?请帮助解决! 有大侠没,快帮助小妹! 我也碰到你一样的情况了我在vB中都不能用。谁也可以帮帮我啊。。 在VBA中确实不能使用Adodc控件,但可以用TextBox控件和按钮来模拟一个Adodc控件,就象这样:然后将Adodc控件的Visible属性设置为False,四个按钮的Caption属性分别为|<、<<、>>、>|,为以后叙述方便,假设它们的名称分别为CmdFirst,CmdPrev,CmdNext,CmdLast。在窗体初始化代码中添加:
Adodc1.Refresh
以确保Adodc正常工作。添加Adodc控件的MoveComplete事件,当记录指针移动时修改TextBox控件内容:
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)<BR> Dim Str As String<BR> Str = "数据库记录:共" & Adodc1.Recordset.RecordCount<BR> Str = Str & "条记录,第" & Adodc1.Recordset.AbsolutePosition<BR> Str = Str & "条记录"<BR> TextBox1.Text = Str<BR>End Sub
以下给出CmdFirst和CmdPrev两个按钮的Click事件代码,另外两个类似,不多说了。
Private Sub CmdFirst_Click()<BR>Adodc1.Recordset.MoveFirst<BR>CmdPrev.Enabled = False<BR>CmdFirst.Enabled = False<BR>CmdNext.Enabled = True<BR>CmdLast.Enabled = True<BR>End Sub
Private Sub CmdPrev_Click()<BR>Adodc1.Recordset.MovePrevious<BR>If Adodc1.Recordset.AbsolutePosition = adPosBOF Then<BR> CmdPrev.Enabled = False<BR> CmdFirst.Enabled = False<BR>End If<BR>CmdNext.Enabled = True<BR>CmdLast.Enabled = True<BR>End Sub
最后说句题外话,Adodc控件其实在VB中也不是很好用的东东,即使在VB中我也常常用上面的方法处理。
页:
[1]