首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • MSFlexGrid中编辑时检查数据重复问题(请老师出招) [无满意答案结贴,结贴人:zz005]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 04:51:59 楼主
    这个是能检查数据重复!但如果再次双击时无论数据是否重复它都提示"重复"!请老师指点下!!谢谢!
    Private Sub Text1_LostFocus()
        Dim tmpRow As Integer
        Dim tmpCol As Integer
        tmpRow = MSFlexGrid1.Row
        tmpCol = MSFlexGrid1.Col
        MSFlexGrid1.Row = gRow
        MSFlexGrid1.Col = gCol

        If gCol = 1 Then
        For c = 1 To MSFlexGrid1.Rows - 1
        If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then
        MsgBox "重复", 48, "错误"
        Text1.Text = ""
        End If
        Next c
     
        MSFlexGrid1.Text = Text1.Text
        End If

        Text1.SelStart = 0
        Text1.Visible = False
        Exit Sub
    Errorhandler:
        Exit Sub
    End Sub
    60  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 08:01:541楼 得分:0
    顶起来.各位老师来啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhufenghappy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 08:25:022楼 得分:0
    感觉题意描述不清,把你代码全贴出来,并说明要实现什么
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • t69490741
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 09:16:553楼 得分:0
    看了半天还是很模糊,功力不够。
    你可以选择单步调试啊。
    在If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then 设个断点,每次运行的时候看看里面的值有什么变化没,就知道为什么老是执行 MsgBox "重复", 48, "错误" 了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:44:124楼 得分:0
    顶起来!不好意思!是我没把问题说清楚!贴开了现在想修改都不行了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:47:375楼 得分:0
    引用 3 楼 t69490741 的回复:
    看了半天还是很模糊,功力不够。
    你可以选择单步调试啊。
    在If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then 设个断点,每次运行的时候看看里面的值有什么变化没,就知道为什么老是执行 MsgBox "重复", 48, "错误" 了


    呵呵!!不是你功力不够啊!是我说的很模糊.

    谢谢哦!!

    这个断点得怎么搞呢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yachong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:52:016楼 得分:0
      MSFlexGrid1.Row = gRow
        MSFlexGrid1.Col = gCol
        debug.print "Text1.Text",text1.text'加上这句运行,到立即窗口看看输出结果 怀疑你上面两句已经改变了text1的内容    If gCol = 1 Then
        For c = 1 To MSFlexGrid1.Rows - 1
        If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then
        MsgBox "重复", 48, "错误"
        Text1.Text = ""
        End If
        Next c
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:01:027楼 得分:0
    引用 6 楼 yachong 的回复:
      MSFlexGrid1.Row = gRow
        MSFlexGrid1.Col = gCol
        debug.print "Text1.Text",text1.text'加上这句运行,到立即窗口看看输出结果 怀疑你上面两句已经改变了text1的内容    If gCol = 1 Then
        For c = 1 To MSFlexGrid1.Rows - 1
        If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then
        MsgBox "重复", 48, "错误"
        Text1.Text = ""
        End If
        Next c


    谢谢!这就来试试下!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:06:558楼 得分:0
    6 楼的朋友:
    刚试了还是跟前面的一样哦!!

    我这个是在加上检查重复的数据这个才会出现不正常的!
    If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then
        MsgBox "重复", 48, "错误"
        Text1.Text = ""
        End If
        Next c
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yachong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:11:079楼 得分:0
    循环检查的时候,应该忽略text1所在的那一行的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:13:2810楼 得分:0
    引用 9 楼 yachong 的回复:
    循环检查的时候,应该忽略text1所在的那一行的


    我来试试下!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 21:11:0411楼 得分:0
    还是不能解决!顶起来!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yachong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 22:31:4112楼 得分:0
    引用楼主 zz005 的帖子:
    这个是能检查数据重复!但如果再次双击时无论数据是否重复它都提示"重复"!请老师指点下!!谢谢!

    那个控件的双击?双击事件你写什么了?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 22:38:4913楼 得分:0
    就是这样!
    Private Sub MSFlexGrid1_DblClick()
    If MSFlexGrid1.Rows = 1 Then Exit Sub
    Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
    Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
    gRow = MSFlexGrid1.Row
    gCol = MSFlexGrid1.Col
    If gCol <> 1 Then Exit Sub
    Text1.Width = MSFlexGrid1.CellWidth
    Text1.Height = MSFlexGrid1.CellHeight
    Text1.Text = MSFlexGrid1.Text
    Text1.Visible = True
    Text1.ZOrder 0
    Text1.SetFocus
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yachong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:05:4714楼 得分:0
    VB code
    For c = 1 To MSFlexGrid1.Rows - 1 If Text1.Text = MSFlexGrid1.TextMatrix(c, 1) And Text1.Text <> "" Then ''''MsgBox "重复", 48, "错误" '''''Text1.Text = "" debug.? "重复行:";c,"TextMatrix:";MSFlexGrid1.TextMatrix(c, 1),"Text1.text";Text1.text else debug.? "行:";c,"TextMatrix:";MSFlexGrid1.TextMatrix(c, 1) End If Next c

    运行看看到底哪行的问题吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:11:3515楼 得分:0
    谢啦!马上运行看!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:14:0416楼 得分:0
    回"蚜虫"!刚试了不行!没提示哦!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yachong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:16:2917楼 得分:0
    立即窗口没东西?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:17:4818楼 得分:0
    没有哦!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yachong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:20:2219楼 得分:0
    我只不过是注释掉了你原来的msgbox而已
    如果你原来弹出msgbox,现在立即窗口肯定有输出
    除非你的代码别的地方还有 MsgBox "重复", 48, "错误" 这样的语句
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:22:3720楼 得分:0
    谢谢你哦!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zz005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 09:45:2221楼 得分:0
    顶起来!!!

    问题还是没解决!!


    "南哥"说的 设个断点,每次运行的时候看看里面的值有什么变化.

    这个好像是重点啊!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved