MSHFlixGrid重复单元格过滤

雨何方 2013-03-24 12:48:46
现在我有二张MSHFlixGridG表格,
一张是入库编辑用(A),一张是物料档案(B)(并且A表与B表的行数是不同的)。
当点击A的末行第1列时,弹出第B,
当点击B,将在B中单击的那一行写到A的末行中。
同时A表自动增加一行。

现在问题是:
当点击B时,要过滤在B中选定的那行内容在A中是否以存在,如果存在提示:不可能重选择,并隐藏物料档案表。

我尝试着用循环来处理,代码如下:
For i=1 to A.Rows-1
For j=1 to B.Rows-1
'B表中当前第1列单元格不等于A表第1列单元格的内容时
IF trim(B.TextMartix(B.Row,1))<>trim(A.TextMartix(i.1)) Then
A.TextMartix(.Rows-1,1)=B.TextMatrix(j,1)
A.TextMartix(.Rows-1,2)=B.TextMatrix(j,2)
B.Visible=Flase
A=A+1
Else
MsgBox"不可以重复选择!",,"系统提示!"
B.Visible=False
End If
Next B
Next A
结果是:
如果在代码中没有加:A=A+1,则永远是对A表的第1行进行对比。
如果在代码中加了:A=A+1,则会出现下标越界。

在此垦请高手指点了。
如果解决办法须用循环来处理,那我的代码出错在哪里?
如果不需用循环来处理,那请贴上其它处理办法的代码!
...全文
483 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨何方 2013-03-24
  • 打赏
  • 举报
回复
楼主太强大了,我苦思了几日的问题,居然给楼这么区区的几行代码给打发了。佩服了!
饮水需思源 2013-03-24
  • 打赏
  • 举报
回复
dim blnIsExists  as boolean   '是否存在
blnIsExists=false    '默认为不存在
For i=1 to A.Rows-1
    if trim(B.TextMatrix(B.row,1))=trim(A.TextMatrix(i,1)) then
        blnIsExists=true
        exit for
    end if
Next i

if blnIsExists=False then
    A.Rows=A.Rows+1
Else
    MsgBox"不可以重复选择!",,"系统提示!"
    B.Visible=False
End If

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧