这段代码有问题,当记录集为空时,myrs.movenext是会出错的,所以你应该判断是否为空再填入数据!

解决方案 »

  1.   

    Private Sub Command5_Click()
    myrs.Delete
    If myrs.EOF Then
      if not myrs.bof then
        myrs.MoveLast
      else
        exit sub
      endif
    Else
    myrs.MoveNext
    End If
    Form3.Text1.Text = myrs.Fields(1)
    Form3.Text2.Text = myrs.Fields(2)
    Form3.Text3.Text = myrs.Fields(3)
    Form3.Text4.Text = myrs.Fields(4)
    Form3.Text5.Text = myrs.Fields(5)
    Form3.Text6.Text = myrs.Fields(6)
    Form3.Text7.Text = myrs.Fields(7)
    Form3.Text8.Text = myrs.Fields(8)
    Form3.Text9.Text = myrs.Fields(9)
    Form3.Text10.Text = myrs.Fields(10)
    Form3.Text11.Text = myrs.Fields(11)
      

  2.   

    Private Sub Command5_Click()
    on error goto err_exit
    myrs.Delete
    If myrs.EOF Then
      if not myrs.bof then
        myrs.MoveLast
      else
        exit sub
      endif
    Else
    myrs.MoveNext
    End If
    Form3.Text1.Text = myrs.Fields(1)
    Form3.Text2.Text = myrs.Fields(2)
    Form3.Text3.Text = myrs.Fields(3)
    Form3.Text4.Text = myrs.Fields(4)
    Form3.Text5.Text = myrs.Fields(5)
    Form3.Text6.Text = myrs.Fields(6)
    Form3.Text7.Text = myrs.Fields(7)
    Form3.Text8.Text = myrs.Fields(8)
    Form3.Text9.Text = myrs.Fields(9)
    Form3.Text10.Text = myrs.Fields(10)
    Form3.Text11.Text = myrs.Fields(11)
    ......
    err_exit:
    end sub
      

  3.   

    令一方法:
    Private Sub Command5_Click()
    myrs.Delete
    If myrs.recordcount = 0 then exit sub
    If myrs.EOF Then
    myrs.MoveLast
    Else
    myrs.MoveNext
    End If
    ......
      

  4.   

    还有,为了明确记录已经删空,上立可以改为:
    If myrs.recordcount = 0 then 
    Form3.Text1.Text = ""
    Form3.Text2.Text = ""
    ......
    Form3.Text11.Text = ""
    exit sub
    end if
    ......
      

  5.   

    多谢你的帮助。可是我认为根本不是“空”的原因。而是eof的原因。还是不行呀。对了。你有email吗?我把我的程序发给你。你全面的给我检查一下吧。多谢。