最后调试的时候出现了一些莫名其妙的问题
1  当删除某项数据时,错误提示:关联文件阻止删除该数据
   Private Sub DBList1_Click()  这句出错:
   Data1.Recordset.FindFirst "xh='" & DBList1.Text & "'"  
2  当删除某项数据索引向后保存,在DBList1中却还保留着,退出窗体重新进入后才消失。。
3  最后调试时 发现有时候 存入的数据 在DBList1中 会乱。比如我想删除一个数据项,其实却删了另一个。。
请高手指点,谢谢!
代码如下:Public Sub SaveCancelEnable()    '使“保存”和“取消”按钮有效---单独的程序
cmd_Add.Enabled = False
cmd_Delete.Enabled = False
cmd_Update.Enabled = False
cmd_Cancel.Enabled = True
cmd_Save.Enabled = True
End Sub
Public Sub InitialCmd()
If Data1.Recordset.RecordCount = 0 Then '当数据库中没有记录
cmd_Add.Enabled = True
cmd_Delete.Enabled = False
cmd_Update.Enabled = False
cmd_Cancel.Enabled = False
cmd_Save.Enabled = False
Else
cmd_Add.Enabled = True
cmd_Delete.Enabled = True
cmd_Update.Enabled = True
cmd_Cancel.Enabled = False
cmd_Save.Enabled = False
End If
End Sub
添加
Private Sub cmd_Add_Click()
  On Error GoTo AddErr
  Data1.Recordset.AddNew
  SaveCancelEnable
  Exit Sub
AddErr:
  MsgBox Err.Description
End Sub
删除
Private Sub cmd_Delete_Click()
Dim sel As String
On Error GoTo DelErr
sel = MsgBox("确定要删除这个记录吗?", vbQuestion + vbOKCancel, "确定删除")
If sel = 1 Then
    BeginTrans
      Data1.Recordset.Delete
    CommitTrans
    Data1.Recordset.MovePrevious
    If Data1.Recordset.RecordCount <= 0 Then
    x = MsgBox("数据库中已经没有记录!", vbInformation + vbOKOnly, "数据库信息")
    End If
  End If
  Exit Sub
DelErr:
  Rollback
  MsgBox Err.Description
End Sub
修改
Private Sub cmd_Update_Click()
On Error GoTo UpdateErr
Data1.Recordset.Edit
SaveCancelEnable
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub
保存
Private Sub cmd_Save_Click()
On Error GoTo SaveErr
   BeginTrans
      Data1.Recordset.Update
   CommitTrans
    Data1.Refresh
    InitialCmd
  Exit Sub
SaveErr:
  Rollback
  MsgBox Err.Description
End Sub
取消
Private Sub cmd_Cancel_Click()
  On Error GoTo CancelErr
  Data1.Recordset.CancelUpdate
  InitialCmd
  Exit Sub
CancelErr:
  MsgBox Err.Description
End SubPrivate Sub DBList1_Click()
 Data1.Recordset.FindFirst "xh='" & DBList1.Text & "'"Private Sub DBCombo1_Click(Area As Integer)
  Data1.Recordset.FindFirst "xh='" & DBCombo1.Text & "'"