以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老大,关于向表中写入数据的疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7231) |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/5/27 18:15:00 -- 老大,关于向表中写入数据的疑问 生成的窗口表中,如何只填充前两列的内容,来源内容在sql server后台数据源erp的表aam中,这个aam表只有两列
窗口表为临时生成,请看附件,不知道filler和fill在这里怎么用了
[此贴子已经被作者于2010-5-27 18:17:05编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2010/5/27 19:06:00 -- 哪两列? 是全部填充吗? |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/5/28 6:46:00 -- 数据源erp的表aam只有两列classcode,classname 需要把这两列数据填充到窗口表aaa_table1的分类码和分类名称列 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/5/28 7:47:00 -- 先Fill,再增加临时列 |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/5/28 8:35:00 -- 老大,现在有两个方向
第一,就是一次性生成临时表,然后填充数据,代码如下:
Dim dtb As New DataTableBuilder("统计")
第二,就是按照您的方法先填充前两列数据,然后增加临时列,代码如下:
Tables("aaa_table1").fill("select classcode as \'分类码\',classname as \'分类名称\' from aam00000","erp",true)
这样实现了从外部数据源填充后再增加列的效果,但是速度就比第一种方法慢了许多。
真应了那句老话,鱼与熊掌不可兼得。
现在还有一个问题,就是生成日期标题的列后,如何向对应的单元格中填入从后台统计出的结果,来实现交叉统计的结果? 不要误会,您该问了,为什么不使用SQLCrossTableBuilder,那多方便,是因为SQLCrossTableBuilder生成这种统计表后,元数据表如果日期列 不连续,那么统计表的列标题就不会连续显示,除非老大将这个方法改进一下,如果是日期列作为列标题显示,设置可选参数,连续日期统计还是如实日期统计 [此贴子已经被作者于2010-5-28 8:42:39编辑过]
|
||||
-- 作者:czy -- 发布时间:2010/5/28 11:19:00 -- 在增加临时列的流程语句前后加上StopRedraw会好一些。 |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/5/28 13:40:00 -- 也许还有第三种方法,就是先使用SQLCrossTableBuilder,然后再进行条件判断来决定增加哪些不存在的列 |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/5/28 18:27:00 -- 老大,请指点迷津 |