在进行记录移动时,和查询起了冲突,查询了以后记录移动就不正常了,求高手帮我改下谢了这里不方便发代码,能帮忙的+我qq 307930650

解决方案 »

  1.   

    Public stringCmbName As String
    Public stringCmbNo As String
    Private Sub cmdDelete_Click() '删除按钮
    Dim response
     response = MsgBox("如果无误,请确认!", vbOKCancel, "删除")
     If response = 1 Then
     RS.Delete
     If RS.EOF Then
     RS.MoveLast
     Else
     RS.MoveNext
     
     End If
     txtName = ""
     txtNo = ""
     CmbSex = ""
     CmbPro = ""
     CmbDepartment = ""
     txtSitu = ""
     txtPassword = ""
     
     Else
      Exit Sub
     End If
    End SubPrivate Sub cmdMove_Click(Index As Integer) '记录移动
    With RS
    Select Case Index
     Case 0:
      If .BOF Then .MoveFirst
      .MovePrevious
     Case 1:
      If .EOF Then .MoveLast
      .MoveNext
    Case 2:
      .MoveLast
    Case 3:
      .MoveFirst
    End Select
    End With
    End SubPrivate Sub CmdSerach_Click() '查询按钮
    Dim sel As StringstringCmbName = CmbName.Text
    stringCmbNo = CmbNo.TextIf stringCmbName = "" Or stringCmbName = "姓名" Then
     If stringCmbNo = "" Or stringCmbNo = "编号" Then
      MsgBox "没有查询条件,请选择!", , "查询"
      Exit Sub
     Else
      sel = "select * from teachers where 编号='" & stringCmbNo & "'"
     End If
    Else
     sel = "select * from teachers where 姓名='" & stringCmbName & "'"
    End IfRS.Close
    RS.Open sel, DB, adOpenKeyset, adLockOptimistic
    Set txtName.DataSource = RS
    Set txtNo.DataSource = RS
    Set CmbSex.DataSource = RS
    Set CmbPro.DataSource = RS
    Set CmbDepartment.DataSource = RS
    Set txtSitu.DataSource = RS
    Set txtPassword.DataSource = RS 
    End SubPrivate Sub Form_Load()
    Call DataBase
    Do While Not RS1.EOF
    CmbName.AddItem RS1("姓名")
    RS1.MoveNext
    Loop
    Do While Not RS2.EOF
    CmbNo.AddItem RS2("编号")
    RS2.MoveNext
    Loop
    Call SetRsEnd SubSub SetRs()
    Set RS = New ADODB.Recordset
    RS.Open "teachers", DB, adOpenKeyset, adLockOptimistic
    Set txtName.DataSource = RS
    txtName.DataField = "姓名"
    Set txtNo.DataSource = RS
    txtNo.DataField = "编号"
    Set CmbSex.DataSource = RS
    CmbSex.DataField = "性别"
    Set CmbPro.DataSource = RS
    CmbPro.DataField = "职称"
    Set CmbDepartment.DataSource = RS
    CmbDepartment.DataField = "所在系"
    Set txtSitu.DataSource = RS
    txtSitu.DataField = "基本情况"
    Set txtPassword.DataSource = RS
    txtPassword.DataField = "密码"
    End Sub这个就是,我在删除中间和第一条记录的时候,提示eof 或 bof有一个为真或者当前记录已被删除的错误