我通过编辑窗体(form2)对主窗体(form1)的datagrid1中的某个单元的数据进行了修改,结果提示:“无法为更新定位行,一些值可能已在最后一次读取后更改"。请哪位老师指点怎样解决

解决方案 »

  1.   

    说的具体点就是我通过form2中的代码rs.Fields("名称").Value=text1.text:Form1.DataGrid11.Columns(1).Text = text1.Text修改数据库以及datagrid1单元格中的数据,但点击Form1.DataGrid11中的其他行时就提示出错了
      

  2.   

    rs.Fields("名称").Value=text1.text
    rs.Update'这句加了么?Form1.DataGrid11.Columns(1).Text = text1.Text 去掉
    用Set DataGrid1.DataSource=rs2 重新设置数据源
      

  3.   

    其他代码中不要使用datagrid.book ,如果使用了可能会造成能够你说的现象
      

  4.   

    datagrid还是建议使用adodc,通过adodc.refresh来控制datagrid
      

  5.   

    本帖最后由 bcrun 于 2010-12-23 13:39:50 编辑
      

  6.   

    全部代码,问题就出在form1.datagrid1.columns(ctl.tag).text=IIf(ctl.Text <> "", ctl.Text, Null)上
      

  7.   

    rs.Fields("名称").Value=text1.text  这个不对吧??
    text1.text=rs.Fields("名称").Value是把数据库中的值付给text1.text
    但是你那样谁知道,你是把text1.text赋值给哪个记录的对应的名称项
      

  8.   

    只要form1.datagrid1.columns(ctl.tag).text=IIf(ctl.Text <> "", ctl.Text, "")
    存在,就提示:“无法为更新定位行,一些值可能已在最后一次读取后更改"
      

  9.   

    你用什么连接的数据库,adodc还是adodb???
    贴代码