以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何获取外部表中的列标题? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58870) |
-- 作者:万通 -- 发布时间: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 |
-- 作者:狐狸爸爸 -- 发布时间:2014/10/25 15:13:00 -- 这个没有办法获取,因为列标题存储在项目文件中,而不是数据库中,只有在加载外部表的时候,才从项目文件中取相关设置。
|
-- 作者:万通 -- 发布时间: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 -- 发布时间:2014/10/25 16:09:00 -- 运行的项目,不应该还去修改数据源. 如果要修改,说明你设计不合理. |
-- 作者:万通 -- 发布时间:2014/10/25 16:13:00 -- 呵呵,客户说,他们后期要能在表中,自己增加所需要的列。现在有一个客户(他们是化工企业,在测量某个新试剂时,他们现在也不可能知道要测试哪些值),确实需要这样的功能。这样就会很麻烦 |
-- 作者:Bin -- 发布时间:2014/10/25 16:16:00 -- 你这个是设计不合理 应该怎讲一个测试值表. 列为 试剂名称 试剂需求测试值
|
-- 作者:万通 -- 发布时间:2014/10/25 16:18:00 -- 关键就是每个新增的试剂,测量值的名称,都不一样。 |
-- 作者:狐狸爸爸 -- 发布时间:2014/10/25 16:21:00 -- 不要用系统自带的列标题功能。
你可以设计个表,包括三列,表名、列名、标题。 然后设计个窗口,给用户定义列标题,将用户自定义的标题保存在这个表中 然后在表生成后,从这个表提取列标题: http://www.foxtable.com/help/topics/1275.htm
|