Foxtable(狐表)用户栏目专家坐堂 → 提示信息


  共有1987人关注过本帖树形打印复制链接

主题:提示信息

帅哥哟,离线,有人找我吗?
nxqtxwz
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
提示信息  发帖心情 Post By:2023/12/18 8:30:00 [只看该作者]

If e.OldRange.ColSel <> e.NewRange.ColSel
    Dim c As Col  = e.Table.Cols(e.NewRange.ColSel)
    Select Case c.name
        Case "辍学分类"
            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(0)("表A")
        Case "当前状态"
            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(1)("表A")
            
        Case "劝学措施"
            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(2)("表A")
            
            Case  Else
             Forms("信息").Close
    End Select
End If

显示下面的错误怎么办?应该是显示在窗口“信息”中,代码怎么写呢。
NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表A,AfterSelChange
详细错误信息:
列“表A”不属于表 表B。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/18 8:43:00 [只看该作者]

提示很明显了,列名用错了。这个代码想实现什么功能?

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2023/12/18 8:50:00 [只看该作者]

想着点了表A中的一列,则将表B中的一列中第几条记录显示在窗口“信息”里。
比如:
鼠标如果点了表A的第二列,则将表B中第五列第三条记录的内容显示在窗口“信息”中。
      如果点了表A的第三列,则将表B中第五列第四条记录的内容显示在窗口“信息”中。
依此类推,起到说明作用。
[此贴子已经被作者于2023/12/18 8:52:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2023/12/18 9:05:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/18 9:34:00 [只看该作者]

改为需要的列名呀

rtxt.text = Tables("表B").Rows(0)("第五列")

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2023/12/18 10:24:00 [只看该作者]

老师您好,问题解决,谢谢。但还有个问题就是:
当刚打开表,点不管哪个列,都不会出现提示窗口,只有换了行后才出现窗口。这个原因是代码放在了表A的AfterSelChange事件中,只有列变了才激发代码执行。如何能做到一打开表不管点哪个列都能及时出现提示窗口呢
[此贴子已经被作者于2023/12/18 10:24:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/18 10:34:00 [只看该作者]

您的代码逻辑就是只有选择这3个列才会显示的呀,其它列就关闭了。如果现在其它列也打开窗口,那么窗口显示什么内容呢?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2023/12/18 11:13:00 [只看该作者]

老师,问题在于代码放在哪个事件中,因为打开表后第一次无论选哪个列它都不显示提示信息。只有第二次行择不同列它才显示。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/18 11:22:00 [只看该作者]

AfterOpenProject事件加上代码

            Forms("信息").Show
            Dim rtxt = Forms("信息").Controls("Panel1").basecontrol.Controls("mytxt")
            rtxt.ForeColor = color.Blue
            rtxt.text = Tables("表B").Rows(0)("第五列")

 回到顶部