提示BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
是怎么回事啊

解决方案 »

  1.   

    Private Sub Command2_Click()
    With Adodc1.Recordset
          .Update
          .Fields(0) = Text1.Text
          .Fields(1) = Text2.Text
          .Fields(2) = Text3.Text
          .Fields(3) = Text4.Text
          .Fields(4) = Text5.Text
          .Fields(5) = .Fields(5) + Text6.Text
          .Fields(6) = Text7.Text
          .Update
    End With
    Adodc1.Refresh
    DataGrid1.Refresh
    Adodc1.Refresh
    DataGrid1.Refresh
    Adodc1.Recordset.MoveFirst
    With Adodc2.Recordset
         .AddNew
         .Fields(0) = Text1.Text
         .Fields(1) = Text2.Text
         .Fields(2) = Text3.Text
         .Fields(3) = Text4.Text
         .Fields(4) = Text5.Text
         .Fields(5) = Text6.Text
         .Fields(6) = .Fields(3) * .Fields(5)
         .Fields(7) = Text7.Text
         .Fields(8) = Date
         .Update
    End With
    Adodc2.Refresh
    Adodc2.Recordset.MoveFirst
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
    Text6.Text = ""
    Text7.Text = ""
    End Sub
    Private Sub Command4_Click()
      If Text1.Text = "" Then
        MsgBox "药品编号不能为空!"
      End If
      With Adodc1.Recordset
      .AddNew
      .Fields(0) = Text1.Text
      .Fields(1) = Text2.Text
      .Fields(2) = Text3.Text
      .Fields(3) = Text4.Text
      .Fields(4) = Text5.Text
      .Fields(5) = Val(Text6.Text)
      .Fields(6) = Text7.Text
      .Update
      End With
       Adodc1.Refresh
       DataGrid1.Refresh
      Adodc1.Refresh
      DataGrid1.Refresh
      Adodc1.Recordset.MoveFirst
      With Adodc2.Recordset
         .AddNew
         .Fields(0) = Text1.Text
         .Fields(1) = Text2.Text
         .Fields(2) = Text3.Text
         .Fields(3) = Text4.Text
         .Fields(4) = Text5.Text
         .Fields(5) = Text6.Text
         .Fields(6) = .Fields(3) * .Fields(5)
         .Fields(7) = Text7.Text
         .Fields(8) = Date
         .Update
    End With
    Adodc2.Refresh
    Adodc2.Recordset.MoveFirst
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
    Text6.Text = ""
    Text7.Text = ""
    Adodc1.RecordSource = "药品信息表 order by 编号" End SubPrivate Sub Command5_Click()
    Unload Me
    End Sub
    Private Sub Command3_Click()
    If Not (Adodc1.Recordset.BOF Or Adodc1.Recordset.EOF) Then
      sc = MsgBox("确定删除该数据吗?", vbOKCancel)
      If sc = 1 Then
        Adodc1.Recordset.Delete
        Text1.Text = ""
       Text2.Text = ""
       Text3.Text = ""
       Text4.Text = ""
       Text5.Text = ""
       Text6.Text = ""
       Text7.Text = ""
       Adodc1.Recordset.MoveFirst
      End If
      Else
      MsgBox " 记录集中没有数据!"
    End If
    Adodc1.Refresh
    DataGrid1.Refresh
    Adodc1.Refresh
    DataGrid1.Refresh
    End Sub
    Private Sub DataGrid1_Click()
    Text1.Text = Adodc1.Recordset.Fields("编号")
    Text2.Text = Adodc1.Recordset.Fields("名称")
    Text3.Text = Adodc1.Recordset.Fields("类别")
    Text4.Text = Adodc1.Recordset.Fields("单价")
    Text5.Text = Adodc1.Recordset.Fields("售价")
    Text6.Text = Adodc1.Recordset.Fields("数量")
    Text7.Text = Adodc1.Recordset.Fields("供应商")
    End Sub
    Private Sub Form_Load()
    Adodc1.Visible = False
    'Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\毕业设计\likangyaodian.mdb;Persist Security Info=False"
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\likangyaodian.mdb"
    Adodc1.RecordSource = "药品信息表 order by 编号"
    Adodc1.Refresh
    Adodc2.Visible = False
    'Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\毕业设计\likangyaodian.mdb;Persist Security Info=False"
    Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\likangyaodian.mdb"
    Adodc2.RecordSource = "入库明细表 "
    Adodc2.Refresh
    Set DataGrid1.DataSource = Adodc1
    DataGrid1.AllowAddNew = False
    DataGrid1.AllowUpdate = False
    DataGrid1.AllowDelete = False
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
    Text6.Text = ""
    Text7.Text = ""
    End Sub
    Private Sub Form_Activate()
    Adodc1.Refresh
    DataGrid1.Refresh
    Me.Refresh
    Adodc2.Refresh
    End Sub
    Private Sub Text1_LostFocus()
    Adodc1.Recordset.Find "编号='" & Text1.Text & "'"
    If Adodc1.Recordset.EOF = False Then
    Text1.Text = Adodc1.Recordset.Fields("编号")
    Text2.Text = Adodc1.Recordset.Fields("名称")
    Text3.Text = Adodc1.Recordset.Fields("类别")
    Text4.Text = Adodc1.Recordset.Fields("单价")
    Text5.Text = Adodc1.Recordset.Fields("售价")
    Text6.Text = Adodc1.Recordset.Fields("数量")
    Text7.Text = Adodc1.Recordset.Fields("供应商")
    End If
    End Sub
      

  2.   

    Adodc1.RecordSource = "select * from 药品信息表 order by 编号" 你应该检查下哪处错了
      

  3.   

    假如我想让文本框一变化,datagrid控件的指针就指向文本框中输入的值的那条记录,该怎么写代码???