Foxtable(狐表)用户栏目专家坐堂 → [求助]我有表A存放列名,类型,长度,标题,表达式,如何用代码产生 表B?


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

主题:[求助]我有表A存放列名,类型,长度,标题,表达式,如何用代码产生 表B?

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


加好友 发短信
等级:六尾狐 帖子:1433 积分:10763 威望:0 精华:0 注册:2013/3/29 10:23:00
[求助]我有表A存放列名,类型,长度,标题,表达式,如何用代码产生 表B?  发帖心情 Post By:2018/5/13 16:42:00 [只看该作者]

如题.

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/13 17:26:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1433 积分:10763 威望:0 精华:0 注册:2013/3/29 10:23:00
  发帖心情 Post By:2018/5/13 17:30:00 [只看该作者]

标题,如何在产生表时就加入? 有代码直接更新表中的 标题吗?

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


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/5/13 17:34:00 [只看该作者]

老师,如何从r("类型")的数值(举例是String) 再赋值给于Gettype(String)或 ADOXType.String

 

Dim dt As DataTable = DataTables("表C")
Dim tb As Table = Tables("表C")

For Each r As Row In Tables("表名").Rows

If r.IsNull("表达式") Then
    If s = "String" Then
        dt.DataCols.Add(r("列名"),Gettype(r("类型")),r("长度"))
    Else
        dt.DataCols.Add(r("列名"),Gettype(r("类型")))
    End If
Else
    If Gettype(s) = "String" Then
        dt.DataCols.Add(r("列名"),Gettype(r("类型")),r("长度"),r("表达式"))
    Else
        dt.DataCols.Add(r("列名"),Gettype(r("类型")),r("表达式"))
    End If
End If
Next

ADOXType.String


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/13 17:49:00 [只看该作者]

要一个一个判断,如

 

If r("类型") = "String" then

 

ElseIf r("类型") = "Integer" Then

 

ElseIf

 

Else

 

End If


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


加好友 发短信
等级:六尾狐 帖子:1433 积分:10763 威望:0 精华:0 注册:2013/3/29 10:23:00
  发帖心情 Post By:2018/5/13 18:51:00 [只看该作者]

请问标题?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/13 18:54:00 [只看该作者]

If r("类型") = "String" then

    dt.DataCols.Add(r("列名"),Gettype(String),r("长度"))

ElseIf r("类型") = "Integer" Then

    dt.DataCols.Add(r("列名"),Gettype(Integer)) 

ElseIf

 

Else

 

End If

[此贴子已经被作者于2018/5/13 18:53:58编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/13 18:55:00 [只看该作者]

以下是引用tennis在2018/5/13 18:51:00的发言:
请问标题?

 

动态添加列,无法设置表达式列、也无法设置标题的。

[此贴子已经被作者于2018/5/13 18:54:41编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1433 积分:10763 威望:0 精华:0 注册:2013/3/29 10:23:00
  发帖心情 Post By:2018/5/14 7:22:00 [只看该作者]

WHY? 既然列名,类型,长度都可以用代码产生,为何标题,表达式不行一定要用最原始的查看表结构或更改列作业?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/14 8:47:00 [只看该作者]

以下是引用tennis在2018/5/14 7:22:00的发言:
WHY? 既然列名,类型,长度都可以用代码产生,为何标题,表达式不行一定要用最原始的查看表结构或更改列作业?

 

修改表结构是直接修改数据库的表信息;标题、表达式列等是存放在foxtable内部的,不开放,无法处理这个。

 

如果要做标题、表达式,你另外弄一个列存放,再在afterOpenProject的时候,动态修改

 

http://www.foxtable.com/webhelp/scr/1275.htm

 

http://www.foxtable.com/webhelp/scr/1428.htm

 


 回到顶部