本帖最后由 scteam 于 2010-11-04 18:11:31 编辑

解决方案 »

  1.   

    Private Sub Form_Load()
       AppDisk = Trim(App.Path)
       If Right(AppDisk, 1) <> "\" Then AppDisk = AppDisk & "\"
       Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AppDisk & "bwscale.mdb;Persist Security Info=False"
       Adodc1.RecordSource = "select * from bwmain"
       Set DataGrid1.DataSource = Adodc1
    End SubPrivate Sub DataGrid1_KeyPress(KeyAscii As Integer)
       If KeyAscii = 13 Then
          If Not Adodc1.Recordset.EOF Then
             Adodc1.Recordset.MoveNext
             If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveFirst
          End If
       End If
    End Sub
      

  2.   

    datagrid中如果存在上下滚动条的时候会出现这个错误 “行无效”,有可能不是你代码问题。
      

  3.   

    不知道楼主完整代码是怎么写的
    我创建个数据穿体 在里面加上了
    'adodc1.connectionstring="PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=temp.mdb;"
    'adodc1.RecordSource="select * from temptb"
    'datagrid1.datasourec=adodc1
    Private Sub DataGrid1_KeyPress(KeyAscii As Integer)
      If KeyAscii = 13 Then _
      DataGrid1.Row = DataGrid1.Row + 1
    End If
    确实没报错
      

  4.   

    呵呵 我是说上面那段 select case 
    先不说他 select啥 在select下面加个if立马报错下面这段
    Private Sub DataGrid1_KeyPress(KeyAscii As Integer)
      If KeyAscii = 13 Then _
      DataGrid1.Row = DataGrid1.Row + 1
    End If你多按几次回车看错不错?
      

  5.   

      DataGrid1.Row = DataGrid1.Row + 1判断一下当前选中行是不是最后一行.
      

  6.   

    DataGrid1.addnew=true
    按多少次都没事
      

  7.   

    哈哈 addnew不断的添加记录 直到最大数据量爆满前也没事但他是移动 DataGrid1.Row 每按一次回车便不断的加1 当你到达最后一行 下面已没有记录 行号难道不会出错??
      

  8.   

    No No
    绝对不会出现这种情况的
    addnew第一次后 焦点会出现在fields(0)上 在update之前是不会下一个addnew的
    只要addnew=true update=false 就绝对不回出问题 
    在新记录行是禁止输入的