以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  做数据统计时遇到的问题(开发者密码是888)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=20950)

--  作者:flytianr
--  发布时间:2012/6/25 10:45:00
--  做数据统计时遇到的问题(开发者密码是888)

各位老师:

在做数据统计时,遇到一个问题,我将项目文件上传了,进入菜单“销售数据管理”,截止日期选择当日,点“库存及受注”按钮后:

  1、生成查询表“受注”; 此步运行正常

  2、同时用数据填充器向“库存及受注”表中填充数据; 此步运行正常

  3、“库存及受注”表有数据后会触发datacolchanged事件,问题出在这一步上,

 

以下是事件中的代码: 

 

Dim ed1 As Date

ed1 =RibbonTabs("销售数据管理").Groups("销售资源").Items("截止日期").Value

If e.DataCol.Name = "SFX" Then \'如果是已结帐列的内容变动

e.DataRow("在库台数")= DataTables("受注").compute("count([车辆基本信息_车型])","[车辆基本信息_sfx]=\'" & e.DataRow("SFX") & "\' And [车辆基本信息_颜色]=\'" & e.DataRow("颜色") & "\' And [车辆信息_入库日期] is not null and  [车辆信息_入库日期] <= #" & ed1 & "#  and  [车辆信息_出库日期] is null and [销售信息_开票日期] is null")

End If

 

黄色部分是出现问题的地方,我想按车辆的sfx和颜色同时满足两个条件来计算,但结果算出来"在库台数"列是0,黄色部分代码若只改为只留存sfx一个条件,就能计算出结果,如下:

  

e.DataRow("在库台数")= DataTables("受注").compute("count([车辆基本信息_车型])","[车辆基本信息_sfx]=\'" & e.DataRow("SFX") & "\' and [车辆信息_入库日期] is not null and  [车辆信息_入库日期] <= #" & ed1 & "#  and  [车辆信息_出库日期] is null and [销售信息_开票日期] is null")


 

这是为什么呢?"颜色:字段为什么不能参与计算,问题出在哪了?请老师门帮助指正

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:北京华通丰田车辆管理平台v1.01.table

[此贴子已经被作者于2012-6-25 11:31:22编辑过]

--  作者:flytianr
--  发布时间:2012/6/25 11:33:00
--  
拜托老师,帮助解决
--  作者:狐狸爸爸
--  发布时间:2012/6/25 12:51:00
--  
你发上来的文件,都无法正常运行的。
--  作者:flytianr
--  发布时间:2012/6/25 13:13:00
--  

狐狸爸爸,是这样的,由于论坛上传文件大小的限制,我的项目无法传上来,所以把其他所有和我遇到的问题不相关的窗口、菜单就全删了,但里面有些代码没能删干净,所以...

我重清理了一下,又上传了,您帮我看看,万分感谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:北京华通丰田车辆管理平台v1.01.table


--  作者:flytianr
--  发布时间:2012/6/25 15:08:00
--  

请老师们帮助指导下啊,咋没人理俺了,都快沉下去了


--  作者:flytianr
--  发布时间:2012/6/25 15:39:00
--  
谢谢您,我初过,不行呀,datacolchanged事件本身就是在“库存及受注”表中的事件,那么datatables就不可能还取“库存及受注”表了
--  作者:狐狸爸爸
--  发布时间:2012/6/25 15:52:00
--  

Dim EndDate3 As Date
EndDate3 = RibbonTabs("销售数据管理").Groups("销售资源").Items("截止日期").Value

If Enddate3=Nothing Then
messagebox.show("日期不能为空!","提示")
Else

Dim jb As New SQLJoinTableBuilder("受注","车辆进销")
jb.AddCols("车辆基本信息_车型","车辆基本信息_sfx","车辆基本信息_颜色","车辆基本信息_国别","付款信息_不含税金额","车辆信息_订单编号","车辆基本信息_订单日期","车辆基本信息_请款日期","车辆信息_入库日期","车辆信息_出库日期","销售信息_开票日期")
jb.Build()


DataTables("库存及受注").DataRows.clear()
Dim f As New Filler
f.SourceTable = DataTables("受注") \'指定数据来源
f.SourceCols = "车辆基本信息_车型,车辆基本信息_sfx,车辆基本信息_颜色,车辆基本信息_国别" \'指定数据来源列
f.DataTable = DataTables("库存及受注") \'指定数据接收表
f.DataCols = "车型,SFX,颜色,国别" \'指定数据接收列
f.Fill() \'填充数据
DataTables("库存及受注").DataCols("SFX").RaiseDataColChanged
MainTable=Tables("库存及受注")
End If