现在出现的问题就是我在修改数据的时候,其修改的总是msflexgrid控件里的第一个行的数据,其他行的数据修改了最后直接把第一行的数据替换掉了,怎么回事?而且还有个问题就是在修改数据后在想选其他行的时候,就是不能再选,没有反应,请各位高手帮忙看看!

解决方案 »

  1.   

    msflexgrid.TextMatrix(rowindex, colindex)= 修改的内容
    rowindex, colindex这两个参数是不是没有弄对?
      

  2.   

    msflexgrid.TextMatrix(rowindex, colindex)= 修改的内容 
    rowindex, colindex这两个参数是不是没有弄对? 
      

  3.   

    我本来就把源程序贴在上面的啊,现重贴下Dim con As New ADODB.Connection
    Dim rs  As New ADODB.Recordset
    Dim i As Integer
    Private Sub Command1_Click()
    '连接数据库
        con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=sa;Initial Catalog=db_SJK07"
        '打开记录集
        rs.Open "select * from 作者 ", con, adOpenKeyset, adLockOptimistic
        '修改字段信息
        For i = 1 To 4
            rs.Fields(i) = Trim(Text1(i).Text)
        Next i
        rs.Update
        MsgBox "修改数据成功", , "明日图书"
    '表格显示作者数据表
        Set MSHFlexGrid1.DataSource = con.Execute("select * from 作者")
        rs.Close
        con.Close
    End Sub
    Private Sub Form_Load()
        con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=sa;Initial Catalog=db_SJK07"
        Set MSHFlexGrid1.DataSource = con.Execute("select * from 作者 ")
        con.Close
        For i = 0 To 4
            Text1(i).Text = ""
        Next
    End Sub
    Private Sub MSHFlexGrid1_RowColChange()
        con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=sa;Initial Catalog=db_SJK07"
        rs.Open "select * from 作者 where 编号='" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1) & "'", con, adOpenKeyset
        If rs.RecordCount > 0 Then
            For i = 0 To 4
                Text1(i).Text = rs.Fields(i)
            Next
        End If
        rs.Close
        con.Close
    End Sub
    Private Sub Command2_Click()
    Unload Me
    End Sub
      

  4.   

    你的意思应该是把 text(i)的内容修改到当前记录,改动试下:Private Sub Command1_Click() 
       if MSHFlexGrid1.ROW = Then Exit sub
        con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=sa;Initial Catalog=db_SJK07" 
        rs.Open "select * from 作者 where 编号='" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1) & "'", con, adOpenKeyset 
        If rs.RecordCount > 0 Then 
        For i = 1 To 4 
            rs.Fields(i) = Trim(Text1(i).Text) 
        Next i 
        rs.Update 
        MsgBox "修改数据成功", , "明日图书" 
    '表格显示作者数据表 
        Set MSHFlexGrid1.DataSource = con.Execute("select * from 作者") 
        rs.Close 
        con.Close 
    End Sub 
      

  5.   

    哦,错了这句
    if MSHFlexGrid1.ROW = 0 Then Exit sub