不需要代码
右键点DATAGRID,选属性,将允许修改勾选。

解决方案 »

  1.   

    我的数据库是远端数据库,用ADO连接的,这该如何做?Set DataGrid1.DataSource = datastock要把做的修改写回到datastock中去的。datagrid1中的数据只是临时搜寻出来数据,修改以后要写回到datastock数据库中去的,谢谢各位!
      

  2.   

    Dim i As Integer, j As Integer, n As Integer
         For j = 0 To DataGrid1.VisibleRows - 1
            DataGrid1.Row = j
            For i = 0 To DataGrid1.Columns.Count - 1
              If DataGrid1.Columns(i).Text <> "" Then
                 Debug.Print DataGrid1.Columns(i).Text
              End If
            Next i
            cn.Execute ("insert into jyxm(检验号,检验项目,结果,参考值,报告日期,检验人,核对人)values" & _
                        "('" & Text1(0).Text & "" & "','" & DataGrid1.Columns(0).Text & "" & "'," & _
                         "'" & DataGrid1.Columns(1).Text & "" & "','" & DataGrid1.Columns(2).Text & "" & "'," & _
                          "'" & Text1(9).Text & "" & "','" & Combo1(3).Text & "" & "','" & Combo1(4).Text & "" & "')")
          Next j
         '********************************************************
         '清除检验结果,以备重新输入
          For n = 0 To DataGrid1.VisibleRows - 1
            DataGrid1.Row = n
            DataGrid1.Columns(1).Text = ""
          Next n
      

  3.   

    谢谢楼上的提示,可能我说的不够准确,我再把我的意思说明白一点,再请各位帮忙!谢谢!  我用TEXT作为查询语句的输入,然后在DATAGRID中显示所查询的记录,可能符合条件的记录不止一条,现我需修改其中的一条记录,然后把修改的记录写回到数据库中去。我的TEXT中的代码为:
    Private Sub Text_LostFocus()
     sqlstock = "select tname,qty,tdate,re from stock where " & _
                 "stock.tname='" & Text1.Text & "'"
     Set datastock = New Recordset
     datastock.Open sqlstock,ataconnect,adOpenStatic,adLockOptimistic
     Set DataGrid1.DataSource = datastock
    End Sub现在DATAGRID中的显示是正确的,但修改其中的一条记录后,想把修改的记录写进数据表"datastock"中去,请各位帮忙,谢谢!
      

  4.   

    如果你的记录集不是只读,修改datagrid控件中的值的时候记录已经被改动了,不信你再次打开的时候会发现记录已经变了.
      

  5.   

    不行,有错误提示:”缺少更新或刷新的键列信息“,不知何故?另我想只有在按下”保存“按钮下才能把此数据写回数据库中去,是不是需一临时表保存DATAGRID中的数据,请问该如何解决?再次谢谢你,多谢!
      

  6.   

    除了你楼下的那位说得,把允许修改选中外还要把datagrid与记录集帮定。
    然后在窗口的unload事件中加入一下代码:记录集.update
      

  7.   

    您试试着将数据输入完后用ASCIIKEY=13进行数据保存一下!