关于MsflexGrid插入新行的有关问题

关于MsflexGrid插入新行的问题!如何在MsflexGrid中的任意位置插入新行,然后将后面的数据显示都后移?[最优

关于MsflexGrid插入新行的问题!
如何在MsflexGrid中的任意位置插入新行,然后将后面的数据显示都后移?
[最优解释]
很久不写数据库程序了,不知道对不对,就是个意思
   
  For i = 0 To MSFlexGrid1.Rows - 1
      sql = "select * from 伺服电机 while 备注='" & MSFlexGrid1.TextMatrix(i, 3) & "'"
      rs.Open sql, conn, adOpenStatic, adLockOptimistic '3,2

      If  Not (rs.BOF and rs.EOF) Then
         MSFlexGrid1.AddItem "", i + 1
      End If
      rs.close
  Next i
[其他解释]
msflexgrid.additem ..... , 3
这样第3行以后的数据都会往下移

[其他解释]

引用:
谢谢楼上各位的热心回答!
但又遇到一个问题,再问问楼主们,谢谢了!
我的最终目的是:判断MsflexGrid中的任意一行的某列是否与数据库里一个表里的某字段所存数据相等,如果相等,则增加新的一行!
可现在是我所写的判定条件都不起作用,各位高人给以指点吧!有代码最好!谢谢!

1、查询数据库,得到记录集
2、使用循环,将每条记录集和MSFlexGrid比较,如果没有就插入

[其他解释]
msflexgrid.additem 

[其他解释]
引用:
msflexgrid.additem

楼上:我的要求是“任意位置”
[其他解释]
引用:
引用:
msflexgrid.additem

楼上:我的要求是“任意位置”

这个可以任意位置
[其他解释]
引用:
引用:
引用:
msflexgrid.additem

楼上:我的要求是“任意位置”

这个可以任意位置

还有一个要求:即后面的数据要后移
[其他解释]
引用:
msflexgrid.additem ..... , 3
这样第3行以后的数据都会往下移

这样插入行,属于在“第3行之前插入数据”,有方法能实现在“指定行”的后面插入数据吗?
[其他解释]
AddItem 方法 (MSHFlexGrid)
      

该方法将一个行添加到 MSHFlexGrid 控件中。不支持命名参数。

语法

object.AddItem (string, index, number)

AddItem 方法的语法包含以下部分:

部分 描述 
object 对象表达式,其值是“应用于”列表中的对象。 
item 字符串必需的。字符串表达式,它在新增行中显示。可以用制表符 (vbTab) 来分隔每个字符串,从而将多个字符串(行中的多个列)添加进去。 
Index 可选的。Long 类型,它代表了控件中放置新增行的位置。对于第一行来说,index = 0。如果省略 index,那么新增行将成为带区中的最后一行。注意 index 是 MSHFlexGrid 中的 BandColIndex。 
number 可选的。Long 值,指出添加行的带区号。 


说明如果 MSHFlexGrid 不包含带区(即它被绑定到一个非层次结构类型的 Recordset),那么 BandNumber 参数将是可选的。即使指定了它的值,指定值也必须为 0。如果 BandDisplay 属性被设置为水平的,而 MSHFlexGrid 被绑定到一个分层结构的 Recordset,则 BandNumber 参数将是必需的。如果 BandDisplay 属性被设置为垂直的,那么只有当带区有二义性的时候 BandNumber 参数才是必要的。index 参数永远是可选的。


楼主看看吧,只要你指定你的插入位置即可。
[其他解释]
引用:

引用:
msflexgrid.additem ..... , 3
这样第3行以后的数据都会往下移

这样插入行,属于在“第3行之前插入数据”,有方法能实现在“指定行”的后面插入数据吗?

第三行之前,就是第二行之后
[其他解释]
谢谢楼上各位的热心回答!
但又遇到一个问题,再问问楼主们,谢谢了!
我的最终目的是:判断MsflexGrid中的任意一行的某列是否与数据库里一个表里的某字段所存数据相等,如果相等,则增加新的一行!
可现在是我所写的判定条件都不起作用,各位高人给以指点吧!有代码最好!谢谢!
[其他解释]
这种判断一般是循环行来处理,你的代码是怎样写的
[其他解释]
引用:
引用:
谢谢楼上各位的热心回答!
但又遇到一个问题,再问问楼主们,谢谢了!
我的最终目的是:判断MsflexGrid中的任意一行的某列是否与数据库里一个表里的某字段所存数据相等,如果相等,则增加新的一行!
可现在是我所写的判定条件都不起作用,各位高人给以指点吧!有代码最好!谢谢!

1、查询数据库,得到记录集
2、使用循环,将每条记录集和MSFl……

下面是我的代码,麻烦看看问题在哪?代码不报错,可是也没起任何作用
 sql = "select * from 伺服电机"
  rs.Open sql, conn, adOpenStatic, adLockOptimistic '3,2
  
  For i = 0 To MSFlexGrid1.Rows - 1
  If MSFlexGrid1.TextMatrix(i, 3) = rs("备注") Then
  MSFlexGrid1.AddItem "", i + 1
  End If
  Next i
[其他解释]
很明显上面写错了一个SQL关键字
[其他解释]
引用:
很久不写数据库程序了,不知道对不对,就是个意思
   
  For i = 0 To MSFlexGrid1.Rows - 1
  sql = "select * from 伺服电机 while 备注='" & MSFlexGrid1.TextMatrix(i, 3) & "'"
  rs.Open sql, conn, adOpenStatic, adLockOptimi……

呵呵,谢谢啊!马上会结贴给分的!
现在又有一个问题:就是插入新的一行后,使用语句“MSFlexGrid1.TextMatrix(i, 3)=rs(3)”将MSFlexGrid1.TextMatrix(i, 3)的内容也更新成了自己想要显示的内容,但是同时也想将另一个表“电机”中的第3列更新为MSFlexGrid1.TextMatrix(i, 3)中现有的内容,我使用update语句未成功,麻烦达人再指点下,小的不胜感激!
[其他解释]
学习中。。。。。。。。。。。。。