在vbVB中,当前记录处于第一条的时候,我再点击上一条的时候就会出错,这个这个应该怎样解决?
1个回答
展开全部
需要理解并学会数据表的记录指针属性Eof和Bof
1,所谓记录指针,可以理解为数据表被打开的时候,有一个内部指针指向一条记录,这个被指针指着的记录,叫做当前记录。
用select语句返回数据表记录集合后,通常记录指针指向第一条记录。
2,数据表内部有两个属性,用来返回记录指针的指向数据表记录的位置状态;
2.1当记录指针指向数据表任意一条记录时,Eof和Bof属性都为False
2.2当记录指针从数据表的最后一条记录,通过moveNext移动到数据表的外部(此时记录指针没有指向任意一条记录)时,Eof属性为True,Bof属性为False。
2.3当记录指针从数据表的第一条记录,通过previous移动到数据表的外部(此时记录指针没有指向任意一条记录)时,Eof属性为False,Bof属性为True。
所以,通常利用这两个属性,可以圆满解决你提出的问题:
3,在moveNext前,通过对Eof的判断来进行:
if Not ado_部门.Recordset.Eof Then
ado_部门.Recordset.moveNext
end if
4,在moveprevious前,通过对Bof的判断来进行:
if Not ado_部门.Recordset.Bof Then
ado_部门.Recordset.moveprevious
end if
1,所谓记录指针,可以理解为数据表被打开的时候,有一个内部指针指向一条记录,这个被指针指着的记录,叫做当前记录。
用select语句返回数据表记录集合后,通常记录指针指向第一条记录。
2,数据表内部有两个属性,用来返回记录指针的指向数据表记录的位置状态;
2.1当记录指针指向数据表任意一条记录时,Eof和Bof属性都为False
2.2当记录指针从数据表的最后一条记录,通过moveNext移动到数据表的外部(此时记录指针没有指向任意一条记录)时,Eof属性为True,Bof属性为False。
2.3当记录指针从数据表的第一条记录,通过previous移动到数据表的外部(此时记录指针没有指向任意一条记录)时,Eof属性为False,Bof属性为True。
所以,通常利用这两个属性,可以圆满解决你提出的问题:
3,在moveNext前,通过对Eof的判断来进行:
if Not ado_部门.Recordset.Eof Then
ado_部门.Recordset.moveNext
end if
4,在moveprevious前,通过对Bof的判断来进行:
if Not ado_部门.Recordset.Bof Then
ado_部门.Recordset.moveprevious
end if
更多追问追答
追问
谢谢你
我还有个问题想问你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询