当按上一条信息的时候`为什么出错~提示如下
bof或eof其中有一个条为真,或当前记录删除所需要的操作要前一个当前记录 问题点数:0、回复次数:2Top
1 楼ct114047689(易主)回复于 2006-12-04 02:59:02 得分 0
Option Explicit
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Command5_Click()
rs.AddNew
Txtid = ""
txtname = ""
Txtadd = ""
Txtid = setfous
End Sub
Private Sub Cmdcancel_Click()
rs.CancelUpdate
display
End Sub
Private Sub Cmddelete_Click()
i = MsgBox("你确定要删除此记录吗?", vbYesNo + vbInformation, "删除记录")
If i = vbyest Then
rs.Delete
rs.MovePrevious
If rf.BOF Then rs.MoveFirst
display
End If
End Sub
Private Sub Cmdexit_Click()
Unload Me
End Sub
Private Sub cmdfind_Click()
Dim cnn2 As ADODB.Connection
Dim rs2 As ADODB.Recordset
Dim s As String
Set cnn2 = New ADODB.Connection
s = "select * from data_1 where id='txtfind.text';"
cnn2.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn2.Open "D:\VB98\data.mdb"
Set rs2 = New ADODB.Recordset
rs2.Open s, cnn2, adOpenDynamic
If rs2.EOF Or rs2.BOF Then MsgBox "无效ID号" ':exit sub
Do While Not rs2.EOF
If s = rs2!id Then
Txtid = rs2!id
txtname = rs2!Name
Txtadd = rs2!Add
Exit Do
End If
rs2.MoveNext
Loop
If rs2.EOF Then
Txtid = ""
txtname = ""
Txtadd = ""
MsgBox "没找到!"
End If
End Sub
Private Sub Txtqdd_Change()
End Sub
Private Sub Cmdsave_Click()
rscourse.AddNew
rs!id = Txtid
rs!Name = txtname
rs!Add = Txtadd
rs.updata
End Sub
Private Sub Command1_Click()
rs.MoveFirst
display
End Sub
Private Sub Command2_Click()
rs.MoveNext
If rs.BOF Then
MsgBox "到第一条记录"
rs.MoveFirst
End If
display
End Sub
Private Sub Command3_Click()
rs.MoveNext
If rs.EOF Then
MsgBox "到最后一条记录"
rs.MoveLast
End If
display
End Sub
Private Sub Command4_Click()
rs.MoveLast
display
End Sub
'激活窗口
Private Sub Form_Activate()
display
End Sub
'加载窗口
Private Sub Form_Load()
Dim addFlag As Boolean
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Open "D:\VB98\data.mdb"
rs.Open "data_1", cnn, adOpenDynamic, adLockBatchOptimistic, adCmdTable
addFlag = False
End Sub
'显示记录
Private Sub display()
Txtid = rs!id
txtname = rs!Name
Txtadd = rs!Add
End Sub
'卸载窗体
Private Sub form_unload(cancel As Integer)
cnn.Close
End Sub
End Sub
Top
2 楼rtx2006()回复于 2006-12-05 08:43:15 得分 0
'每次移动指针时,作两次判断
Private Sub Command3_Click()
if not rs.eof then
rs.MoveNext
if not rs.eof then
display '显示数据
else
Msgbox"到最后一条记录"
end if
else
Msgbox"到最后一条记录"
end if
End Sub
Top




