以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码错误吗  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3773)

--  作者:chenwuwenyu
--  发布时间:2009/8/1 14:22:00
--  代码错误吗
DataTables("表C").DataRows.Clear()
dim f As New Filler
f.SourceTable = DataTables("表A") \'指定数据来源
f.SourceCols = "日期,医院,医生,手术名称" \'指定数据来源列
f.DataTable = DataTables("表C") \'指定数据接收表
f.DataCols = "日期,医院,医生,手术名称" \'指定数据接收列
f.Append = false
f.Fill() \'填充数据
for i as Integer = 0 to tables("表C").count - 1
    For Each cl As Col In tables("表C").Cols
        if cl.name <> "日期" and cl.name <> "医生" and cl.name <> "医院" and cl.name <> "手术名称"
            currenttable(i,cl.name)= DataTables("表A").Compute("Sum(数量)", "产品 = \'" & cl.name & "\'and 医生 = \'" & currenttable(i,"医生") & "\' and 日期 = \'" & currenttable(i,"日期") & "\'")
        end if
    Next
Next



图片点击可在新窗口打开查看此主题相关图片如下:未标题-2.jpg
图片点击可在新窗口打开查看

请教各位这是怎么回事呢
红色代码有问题吗?

--  作者:mr725
--  发布时间:2009/8/1 15:04:00
--  
感觉是表C的列名 或 当前表是不是代码中的currenttable 问题, 附上个例子帮你测试~  
--  作者:yangming
--  发布时间:2009/8/1 15:39:00
--  
你表C中没有产品列啊?或是没有从表A中填充产品列的数据,所以我认为错误在产品列上
--  作者:mr725
--  发布时间:2009/8/1 15:47:00
--  
以下是引用yangming在2009-8-1 15:39:00的发言:
你表C中没有产品列啊?或是没有从表A中填充产品列的数据,所以我认为错误在产品列上

楼主表A的产品 A . B . C . ........  在表C中成了列名(像交叉统计那样)

充填后,可能缺了:MainTable = Tables("表C") 一行代码

[此贴子已经被作者于2009-8-1 15:49:09编辑过]

--  作者:yangming
--  发布时间:2009/8/1 15:52:00
--  
MainTable = Tables("表C")这行代码只是打开表C,并没有其它的意思
--  作者:mr725
--  发布时间:2009/8/1 16:21:00
--  
以下是引用yangming在2009-8-1 15:52:00的发言:
MainTable = Tables("表C")这行代码只是打开表C,并没有其它的意思

是呀~  因为楼主1楼代码的currenttable 可能就是指的没有打开的 表C 啊~  没有他的文件,不能测试···  呵呵。


--  作者:yangming
--  发布时间:2009/8/1 16:25:00
--  
还是等楼主发文件看看吧,呵呵,瞎猜没用
--  作者:mr725
--  发布时间:2009/8/1 16:27:00
--  

呵呵···  咱比楼主还急~  


--  作者:chenwuwenyu
--  发布时间:2009/8/1 16:43:00
--  
是的,已经处理好了,呵呵,红色代码是设置在按钮中的,忘了当前表不是表C了,顺便问一下
currenttable(i,cl.name)这个可以用table(表C).????,怎么替代呢?
好像没这个属性似的
--  作者:mr725
--  发布时间:2009/8/1 16:56:00
--  
for i as Integer = 0 to tables("表C").count - 1

    Dim r As Row = Tables("表C").Rows(i)
        r(cl.name) = ......
或:
        Tables("表C").Rows(i)(cl.name) = ......
        ..............

Next