我在编一个博士管理系统时也出现你这样的情况,在插入时,要线查询表table1(在SQL里)是否有这个号码,如果有,则不能插入,要插入的号码实在一个text框里输入的。在删除时也是,也实现查到这个号码,然后再插入,我是这样写的,可是老是不行,怎么回事啊?对了我不是用odbc来配置数据源,
del = InputBox("请输入要删除的号码", "删除")
Dim rstable1 As ADODB.Recordset
Set rstable1 = New ADODB.Recordset
rstable1.Open "select * FROM table1 WHERE table1.number=", del
If Not rstable1.EOF Then
rstable1.Delete
End If
用下面这些语句试试
adodc1.recordsource="select COUNT(你的主键字段) AS sum from 用户表"
adodc1.refresh
if adodc1.recordset.eof and adodc1.recordset.bof then
msgbox "没有找到数据",vbokonly
else
msgbox "现在有记录" & adodc1.Recordset.Fields("sum").Value & "条",vbokonly
end if
to 大家:
大家好,经过大家的热心帮助,我已明白了错误原因,现总结如下:
1、出现“对象变量或 With 块变量没有设置”错误,是因为我忘了在前面加上:
adodc1.recordsource="select * from 用户表"
adodc1.refresh 语句。
2、关于使用FIND方法后,RECOUNT值未变的问题,开始我误认为使用了FIND方法后,其RECORDSOURCE变了,所以RECOUNT也应该变,其实不然,使用了FIND方法只是将当前记录定位到你查询的记录上,而并未改变其RECORDSOURCE,这一点可以通过在使用了FIND方法后,查询其各个FIELD值来验证确实查到了欲查询的数据。
3、判断是否查到查到欲查数据可通过EOF或BOF是否为TRUE来判断,当二者有任一个为TRUE时,就说明未查到数据,当然如果是采用DAO对象的话,还可以通过NOMATCH属性来判断是否查到欲查数据。
4、为了表示对大家的热心帮助的感谢,放分,呵呵,:)