'××××××××××××××××××××××××××××××××××××××××××
Dim objRs As Recordset, objCn As ConnectionPrivate Sub cmdAdd_Click()
    objRs.AddNew
    txthp.SetFocus
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub cmdDelete_Click()
    objRs.Delete
    objRs.MoveNext
    If objRs.EOF Then objRs.MoveLast
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub cmdFirst_Click()
    objRs.MoveFirst
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub cmdLast_Click()
    objRs.MoveLast
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub cmdNext_Click()
    objRs.MoveNext
    If objRs.EOF Then objRs.MoveLast
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub cmdPre_Click()
    objRs.MovePrevious
    If objRs.BOF Then objRs.MoveFirst
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub cmdSave_Click()
    On Error GoTo DealError
    objCn.Open
    Set objRs.ActiveConnection = objCn
    '
    If MsgBox("Yes or No", vbYesNo) = vbYes Then
        objRs.UpdateBatch adAffectAllChapters
    End If
    Set objRs.ActiveConnection = Nothing
    objCn.Close
    Exit Sub
DealError:
    If Not objRs.ActiveConnection Is Nothing Then
        Set objRs.ActiveConnection = Nothing
    End If
    If objCn.State <> adStateClosed Then objCn.Close
End SubPrivate Sub cmdUpdate_Click()
    objCn.Open
    If objRs.State = adStateOpen Then objRs.Close
    objRs.Open "SELECT * FROM txcl", objCn
    Set objRs.ActiveConnection = Nothing
    objCn.Close
    '
    Set txthp.DataSource = objRs
    txthp.DataField = "hp"
    Set cboclcz.DataSource = objRs
    cboclcz.DataField = "clcz"
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub Form_Load()
    Set objCn = New Connection
    '
    With objCn
        .Provider = "SQLOLEDB"
        .ConnectionString = "User ID=sa;PWD=101010;Data Source=(local);Initial Catalog=sql"
        .Open
    End With
    Set objRs = New Recordset
    With objRs
        .CursorLocation = adUseClient
        .LockType = adLockBatchOptimistic
        .Open "SELECT * FROM txcl", objCn
        Set .ActiveConnection = Nothing
    End With
    objCn.Close
    Set txthp.DataSource = objRs
    txthp.DataField = "hp"
    Set cboclcz.DataSource = objRs
    cboclcz.DataField = "clcz"
    '
    txtMsg = objRs.AbsolutePosition & "/" & objRs.RecordCount
End SubPrivate Sub Form_Unload(Cancel As Integer)
    Set objRs = Nothing
    Set objCn = Nothing
End SubPrivate Sub txthp_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
        If Index < 2 Then
            cboclcz.SetFocus
        Else
            txthp.SetFocus
        End If
    End If
End Sub
'××××××××××××××××××××××××××××××××××××××××××
点击删除按钮(可以看到数据正的减少),之后点击保存按钮,再点击刷新按钮时,
数据没有被删除?
添加——>保存——>刷新可以。
《、<、>、》查看按钮事件可以。
txtMsg 显示可以。