Foxtable(狐表)用户栏目专家坐堂 → 如何判断表达式A列已经是其他表达式的一部分了


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

主题:如何判断表达式A列已经是其他表达式的一部分了

帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:141 积分:1101 威望:0 精华:0 注册:2021/8/6 21:17:00
如何判断表达式A列已经是其他表达式的一部分了  发帖心情 Post By:2021/8/17 0:47:00 [只看该作者]

如题

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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

if DataTables("订单").DataCols("金额").Expression like "*A列*" then
[此贴子已经被作者于2021/8/17 8:33:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:141 积分:1101 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/17 16:06:00 [只看该作者]

Dim t As Table = Tables("表A")
Dim c As Col = t.Cols(t.ColSel)
If DataTables("表A").DataCols(c.name).Expression > "" Then '是表达式列
    For Each d As Col In Tables("表A").cols
        If DataTables("表A").DataCols(d.name).Expression Like c.name Then
            MessageBox.Show("本列" & c.name & "已在" & d.name & "中引用,禁止删除")
        Else
            MessageBox.Show(d.name & "可以删除")
        End If
    Next
Else
    MessageBox.Show(c.name & "这是系统列,禁止删除")
End If

是哪里除了问题,青色字段没有显示出来
[此贴子已经被作者于2021/8/17 16:09:11编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/17 16:11:00 [只看该作者]

If DataTables("表A").DataCols(d.name).Expression Like "*" & c.name & "*" Then

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:141 积分:1101 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/17 16:25:00 [只看该作者]

蓝老师,好像我的逻辑哪里错了,她会把所有列提示一遍,我是想如果被其他列引用就禁止删除,否则就删除,能帮我看下吗?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/17 16:52:00 [只看该作者]

……
        If DataTables("表A").DataCols(d.name).Expression Like "*" & c.name & "*"  Then
            MessageBox.Show("本列" & c.name & "已在" & d.name & "中引用,禁止删除")
exit for
        Else
……

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:141 积分:1101 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/17 18:02:00 [只看该作者]

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


删除还是不对哦,还是提示一圈
[此贴子已经被作者于2021/8/17 18:02:01编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/17 20:14:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试 (1).zip


 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:141 积分:1101 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/17 21:08:00 [只看该作者]

蓝老师,不对啊,正常第二列和B列,是不能删除的,因为我在C列函数里面引用了,但是现在提示都是错的,B列的提示是不能删除,但是原因是第一列引用了,正确的提示应该是C列引用了,B列也是被C列引用了,但是提示可以删除,C列没有被任何列引用,但是提示已经被第二列引用了,不能删除,正确的是可以删除

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/17 21:16:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试 (1).zip


 回到顶部