急。。。。。请高手指点迷津,关于VB的EOF‘91实事错误提示’
Option Explicit
Dim isAdd As Boolean
Dim isEdit As Boolean
Dim RecCount As Integer
Public Sub initialCmd()
If AdodcReaderType.Recordset.EOF And AdodcReaderType.Recordset.BOF Then“就在这行出现黄色条。。。鼠标移上去显示AdodcReaderType.Recordset.EOF=<未定义或。。。。
cmdAdd.Enabled = True
cmdEdit.Enabled = False
cmdDelete.Enabled = False
cmdSave.Enabled = False
cmdCancel.Enabled = False
cmdClose.Enabled = True
Else
cmdAdd.Enabled = True
cmdEdit.Enabled = True
cmdDelete.Enabled = True
cmdSave.Enabled = False
cmdCancel.Enabled = False
cmdClose.Enabled = True
End If
End Sub
Public Sub SaveCancelEnabled()
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDelete.Enabled = False
cmdSave.Enabled = True
cmdCancel.Enabled = True
cmdClose.Enabled = True
End Sub
Public Sub TextEnabledTrue()
txtReaderTypeId.Enabled = True
txtReaderTypeName.Enabled = True
txtLoanNumber.Enabled = True
txtBorrowTerm.Enabled = True
txtForfeitDay.Enabled = True
End Sub
Public Sub TextEnabledFalse()
txtReaderTypeId.Enabled = False
txtReaderTypeName.Enabled = False
txtLoanNumber.Enabled = False
txtBorrowTerm.Enabled = False
txtForfeitDay.Enabled = False
End Sub
Private Sub cmdAdd_Click()
isAdd = True
SaveCancelEnabled
AdodcReaderType.Recordset.AddNew
TextEnabledTrue
txtReaderTypeId.SetFocus
End Sub
Private Sub cmdCancel_Click()
If AdodcReaderType.Recordset.RecordCount > 0 Then
AdodcReaderType.Recordset.CancelUpdata
End If
initialCmd
TextEnabledFalse
DataGridReaderType.Refresh
AdodcReaderType.Refresh
End Sub
Private Sub cmdClose_Click()
End
Unload Me
End Sub
Private Sub cmdDelete_Click()
If MsgBox("真的要删除类别名称为:【" & Trim(txtReaderTypeName.Text) & "】的类别吗? ", vbYesNo, "提示信息") = vbYes Then
AdodcReaderType.Recordset.Delete
AdodcReaderType.Recordset.MoveNext
If AdodcReaderType.Recordset.EOF Then
AdodcReaderType.Recordset.MovePrevious
If AdodcReaderType.Recordset.BOF Then
MsgBox "读者类别表中的数据已被清空", , "提示信息"
Exit Sub
End If
End If
End If
DataGridReaderType.Refresh
End Sub
Private Sub cmdEdit_Click()
isEdit = True
SaveCancelEnabled
TextEnabledTrue
txtReaderTypeId.SetFocus
End Sub
Private Sub cmdSave_Click()
initialCmd
If Trim(txtReaderTypeId.Text) = "" Or Trim(txtReaderTypeName.Text) = "" _
Or Trim(txtLoanNumber.Text) = "" Or Trim(txtBorrowTerm.Text) = "" _
Or Trim(txtForfeditDay.Text) = "" Then
MsgBox "请将读者类别数据填写完整! ", , "提示信息"
cmdSave.Enabled = True
cmdCancel.Enabled = True
txtReaderTypeId.SetFocus
End If
AdodcTemp.RecordSource = "select * form ReaderType where readerTypeId=" & _
" " & Trim(txtReaderTypeId.Text) & " '"
AdodcTemp.Refresh
RecCount = AdodcTemp.Recordset.RecordCount
If isAdd Then
If RecCount > 0 Then
MsgBox "此类别编号已经存在,请重新输入! ", , "提示信息"
txtReaderTypeId.SetFocus
txtReaderTypeId.SelStart = 0
txtReaderTypeId.SelLength = Len(txtReaderTypeId.Text)
cmdSave.Enabled = True
Exit Sub
Else
AdodcReaderType.Recordset.Update
MsgBox = False
AdodcReaderType.Recordset.MoveLast
TextEnabledFalse
End If
ElseIf isEdit Then
If RecCount > 1 Then
MsgBox "此类别编号已经存在,请重新输入! ", , "提示信息"
txtReaderTypeId.SetFocus
txtReaderTypeTd.SelStart = 0
txtReaderTypeId.SelLength = Len(txtReaderTypeId.Text)
cmdSave.Enabled = True
cmdCancel.Enabled = True
Exit Sub
Else
AdodcReaderType.Recordset.Update
MsgBox "已成功添加新的读者类别!", , "提示信息"
isAdd = False
AdodcReaderType.Recordset.MoveLast
TextEnabledFalse
End If
ElseIf isEdit Then
If RecCount > 1 Then
MsgBox "此类别编号已经存在,请重新输入! ", , "提示信息"
txtReaderTypeId.SetFocus
txtReaderTypeId.SelStart = 0
txtReaderTypeId.SelLength = Len(txtReaderTypeId.Text)
cmdSave.Enabled = True
cmdCancel.Enabled = True
Exit Sub
Else
AdodcReaderType.Recordset.Update
MsgBox "所修改的读者类别数据已保存! ", , "提示信息"
isEdit = False
AdodcReaderType.Refresh
TextEnabledFalse
End If
End If
DataGridReaderType.Refresh
End If
End Sub
Private Sub Form_Load()“同时出现From子语句错误
initialCmd
AdodcReaderType.Recordset.MoveFirst
Set DataGridReaderType.DataSource = AdodcReaderType
TextEnabledFalse
End Sub
注:我用的是ACCESS2007创建数据库行吗?????
[解决办法]
AdodcReaderType想必是一个Adodc控件,它的connectionstring和datasource没有设置好.
