Foxtable(狐表)用户栏目专家坐堂 → 如何获取外部表中的列标题?


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

主题:如何获取外部表中的列标题?

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


加好友 发短信
等级:幼狐 帖子:182 积分:1968 威望:0 精华:0 注册:2012/7/2 9:35:00
如何获取外部表中的列标题?  发帖心情 Post By:2014/10/25 14:51:00 [只看该作者]

大家好,请教一下:
1、创建数据源,连接到项目之外的新的数据库;
2、创建外部表;
3、在狐表中显示的列,都是列名称;
  问题:在创建外部表时,如何把列标题也带进来,在狐表中显示出来的是列标题,而不要是列名称?

附:创建外部表的代码
Dim lst As List(Of String)
lst = Connections(conn).GetTableNames
Dim q As new OuterTableBuilder
q.ConnectionName = conn
For Each nm As String In lst
    q.TableName = nm
    q.SelectString = "Select * From {" & nm &"} where [_identify] Is null"
    q.Build
Next

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/10/25 15:13:00 [只看该作者]

这个没有办法获取,因为列标题存储在项目文件中,而不是数据库中,只有在加载外部表的时候,才从项目文件中取相关设置。

 


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


加好友 发短信
等级:幼狐 帖子:182 积分:1968 威望:0 精华:0 注册:2012/7/2 9:35:00
  发帖心情 Post By:2014/10/25 15:59:00 [只看该作者]

目前已制作好的功能:
一、项目的所有功能,都已制作完成(制作时,启动的也是外部数据源ACCESS);
    备注:1、表的设计完成; 2、窗口的设计完成;3、所有的关联及所有事件的代码都已完成;4、项目运行时,一切都OK;
二、打开MSSQL数据管理器并登陆,将ACCESS中的数据表及数据,导入到MSSQL中新建立的数据库中,并进行主键等的再设置(详细步骤略)。
三、在自定义的登陆窗口中,这时就可以选择使用不同位置或不同类型的一个数据源(同结构)了。
     备注:当选择某个位置的数据库时,
            1、进行数据库的判断,是否与项目设计的数据库结构相同;
            2、点确定按钮时,将所有的表切换到新的数据源;
截止目前,上面所有的功能,都一切运行正常;

  缺点:在有多台客户端运行时,如果某个表要增删列的情况下,则每个客户端的原数据库的结构都要调整;
           要不然,表从旧数据源切换到新数据源时,会出错的

我的一个构想:

四、打开上述项目,在菜单铵钮中,点删除表,删除所有的表; 
五、新增一张表A,(作为修改窗口时备用,因为后续创建的临时表,是不能再修改已设计好的窗口等等的)
六、修改登出窗口中的登陆新数据源按钮的代码:在创建外部表的时候,把新数据源中的所有表加进来;

 优点:每个运行的客户端,在某个表,有增删列情况下,无任何影响;

现在,唯一遗憾的是:在项目中显示出来的列,都是列名称,而不是列标题;

想要的是:创建外部表后,如何把列标题也带进来,在项目中显示出来的是列标题,而不要是列名称?

[此贴子已经被作者于2014-10-25 16:09:25编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/25 16:09:00 [只看该作者]

运行的项目,不应该还去修改数据源.  如果要修改,说明你设计不合理.

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


加好友 发短信
等级:幼狐 帖子:182 积分:1968 威望:0 精华:0 注册:2012/7/2 9:35:00
  发帖心情 Post By:2014/10/25 16:13:00 [只看该作者]

呵呵,客户说,他们后期要能在表中,自己增加所需要的列。现在有一个客户(他们是化工企业,在测量某个新试剂时,他们现在也不可能知道要测试哪些值),确实需要这样的功能。这样就会很麻烦

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/25 16:16:00 [只看该作者]

你这个是设计不合理

应该怎讲一个测试值表.

列为

试剂名称   试剂需求测试值

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


加好友 发短信
等级:幼狐 帖子:182 积分:1968 威望:0 精华:0 注册:2012/7/2 9:35:00
  发帖心情 Post By:2014/10/25 16:18:00 [只看该作者]

关键就是每个新增的试剂,测量值的名称,都不一样。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/10/25 16:21:00 [只看该作者]

不要用系统自带的列标题功能。

 

你可以设计个表,包括三列,表名、列名、标题。

然后设计个窗口,给用户定义列标题,将用户自定义的标题保存在这个表中

然后在表生成后,从这个表提取列标题:

http://www.foxtable.com/help/topics/1275.htm

 


 回到顶部