Foxtable(狐表)用户栏目专家坐堂 → 如何判断数据表中的列名称是否是逻辑列?


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

主题:如何判断数据表中的列名称是否是逻辑列?

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
如何判断数据表中的列名称是否是逻辑列?  发帖心情 Post By:2020/5/31 15:10:00 [只看该作者]

1.要判断当前表中的那一列是逻辑列?
2.要判断当前表中的那一列是表达式列?
判断的代码怎么写?谢谢!

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/5/31 15:25:00 [只看该作者]

if DataTables("订单").DataCols("是否开单").IsBoolean then 是逻辑列
if DataTables("订单").DataCols("金额").Expression > "" then 是表达式列

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/5/31 15:32:00 [只看该作者]

但当前表tb=currenttable是table类型,如何才能转到datatable呢?是tb.datacols(“是否开单”)还是 tb.datatable.datacols("是否开单")?
谢谢!

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/5/31 16:02:00 [只看该作者]

 if Tables("订单").Cols("是否开单").IsBoolean then 是逻辑列
 if Tb.Cols("是否开单").IsBoolean then 是逻辑列

[此贴子已经被作者于2020/5/31 16:03:44编辑过]

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/5/31 17:12:00 [只看该作者]

还是不行
测试代码如下:
Dim lm As String
Dim i As Integer
For Each c As Col In tb.Cols
  If tb.Cols(c).IsBoolean
i=i+1
End If
lm=lm+c.name+","
Next
msgbox(lm)
编译没通过,出现了以下错误提示:

图片点击可在新窗口打开查看此主题相关图片如下:r%tuhkd1lsby}xpc5juzstu.png
图片点击可在新窗口打开查看




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


加好友 发短信
等级:狐神 帖子:4628 积分:33772 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2020/5/31 20:02:00 [只看该作者]

If c.IsBoolean

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/5/31 20:14:00 [只看该作者]

c 本身就是col ,tb.Cols(c)是什么? 
不如改为这样:
Dim lm As String
Dim i As Integer
Dim tb As Table= Tables("表A")
For i= 0 To tb.Cols.Count -1
    If tb.Cols(i).IsBoolean= False Then
        lm=lm+tb.Cols(i).name+","
        
    End If
Next
msgbox(lm)

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/5/31 20:19:00 [只看该作者]

谢谢!

 回到顶部