以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  TopicBar显示统计信息的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71283)

--  作者:douglas738888
--  发布时间:2015/7/8 16:22:00
--  TopicBar显示统计信息的问题
参照帮助设计任务栏动态任务时出现以下问题
在开发者登录情况下,以下代码在任务栏的统计信息没有问题,也能打开表A窗口
表A行的内容是从表B通过数据填充提取数据的
1. 我做的是自定义登录系统,自定义登录后,以下代码统计信息为(0),并且表A只见表头没有行
2. 在开发者登录情况下,表A和表B可见行及其内容,在表A窗口和表B窗口显示也正常
3. 代码中如果设置SQLCompute"Count(*)"为Compute"Count(_Identify)"会报错
    目前报错为“列_约束值是唯一的,值”33“已存在,有时是值”11“已存在,有时是值”25“已存在。

我不知道是哪里冲突了,怀疑是主键出现问题,请老师指导指导,谢谢!!


在AfterLoad设置的代码
Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("表A").SQLCompute("Count(*)","任务发布时间 = #"  & DateTime.Today & "#")
Page = e.Form.Controls("TopicBar1").Pages.Add("市场部","市场部")
Page.Links.Add("今日新增任务","今日新增任务(" & cnt1 & ")" )

TopicLinkClick设置的代码
Select Case e.Link.Name
    Case "今日新增任务"
    Tables("表A").Filter = "任务发布时间 = #"  & DateTime.Today & "#"
        Forms("市场任务接收").Open()
   End Select

表A与表B的数据填充代码

Dim f As New Filler
f.SourceTable = DataTables("表B") \'指定数据来源
f.SourceCols = "部门名称,部门负责人,任务发布时间,工作任务书,发布人" \'指定数据来源列
f.DataTable = DataTables("表A") \'指定数据接收表
f.DataCols = "部门名称,部门负责人,任务发布时间,工作任务书,发布人" \'指定数据接收列
f.filter = "_Identify = " & Tables("市场部任务发出").Current("_Identify")
f.fill()\'填充数据

--  作者:大红袍
--  发布时间:2015/7/8 16:25:00
--  

 你确定是这句代码出问题?Compute"Count(_Identify)"

 

 那写成 Compute"Count(部门名称)" 呢?


--  作者:douglas738888
--  发布时间:2015/7/8 16:38:00
--  
我也无法确认,感觉是哪里冲突了,写成 Compute"Count(部门名称)"后问题依然存在(开发者登录后,在预览时填写任务发布时间后,今日新增任务会正常显示行和统计行数的信息,但已自定义登录测试时,今日新增任务(0),也只显示表A的表头,无行显示)

如果把代码Tables("市场部任务接收").Filter = "任务发布时间 = #"  & DateTime.Today & "#" 全部删除后,自定义登录点击任务栏中的今日新增任务,打开表A显示全部行内容,统计信息为(0);这段代码加上,自定义登录后只显示表B列头,无行显示。

我在表B列任务发布时间DataRowAdding设置的是e.DataRow("任务发布时间") = DateTime.now,不知是否有影响
[此贴子已经被作者于2015/7/8 16:54:44编辑过]

--  作者:大红袍
--  发布时间:2015/7/8 17:02:00
--  

呃,代码这样写

 

Tables("市场部任务接收").Filter = "任务发布时间 >= #"  & Date.Today & "# and 任务发布时间 < #" & Date.Today.AddDays(1) & "#"


--  作者:大红袍
--  发布时间:2015/7/8 17:04:00
--  
 报错是数据库有问题,去压缩修复一下。把主键重复的删除。
--  作者:douglas738888
--  发布时间:2015/7/8 17:08:00
--  
好的,谢谢老师!!!
--  作者:douglas738888
--  发布时间:2015/7/8 17:14:00
--  
再请教下,老师给的代码自定义登录后显示表A了,但今日新增任务不统计行数,依然为(0),是不是我写的统计信息代码有误?
--  作者:大红袍
--  发布时间:2015/7/8 17:27:00
--  
 统计条件要这样写 "任务发布时间 >= #"  & Date.Today & "# and 任务发布时间 < #" & Date.Today.AddDays(1) & "#"
--  作者:douglas738888
--  发布时间:2015/7/8 17:37:00
--  
晕了,晕了,是的,应该在AfterLoad的代码中修改条件的,非常感谢老师!!!!!