以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于此表的统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48119)

--  作者:gaoyong30000
--  发布时间:2014/3/23 16:23:00
--  关于此表的统计

 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看



我想最终统计表为

 

 刊物名称 出版日期  页码     版面   添加一列(次数)

 

 

其中 统计过程中出版日期  页码 刊物名称  版面相同的话  只统计一次   最终统计出   各报纸打了多少版次的广告!

 

 


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.xls

[此贴子已经被作者于2014-3-23 16:24:02编辑过]

--  作者:lsy
--  发布时间:2014/3/23 16:47:00
--  
相似的问题,楼主问过几次了,而且对于别人的回复,也没给个反馈:回复的对,还是不对呢?
--  作者:gaoyong30000
--  发布时间:2014/3/23 17:30:00
--  
 之前几个都没给出解决方案,我现在就是想要个具体的示例   

因为这种统计以后要经常用  麻烦各位了!!!!!!!!!!!!!

--  作者:lsy
--  发布时间:2014/3/23 17:45:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:竞品广告投放统计.rar

[此贴子已经被作者于2014-3-23 18:02:49编辑过]

--  作者:gaoyong30000
--  发布时间:2014/3/24 0:18:00
--  
 多谢了a~~~~~~~~
--  作者:gaoyong30000
--  发布时间:2014/3/24 16:25:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:竞品广告投放统计.rar

我模仿了下  改了一下代码  但是出现一个问题

 

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Select 竞争对手,刊物名称,出版日期,页码,版面,\'\'As 次数 From {保健品竞品明细}"
Dim t As Table = e.Form.Controls("Table1").Table
t.StopRedraw
t.DataSource = cmd.ExecuteReader()
t.DataTable.DataRows.Clear()
Dim vals As List(Of String) = DataTables("保健品竞品明细").GetValues("竞争对手","竞争对手 Is Not Null")
msgbox(1)
For Each val As String In vals
    Dim arys As List(Of String()) = DataTables("保健品竞品明细").GetValues("竞争对手|刊物名称|出版日期|版面|页码","刊物名称 = \'" & val & "\' And 竞争对手  Is Not Null and 出版日期 Is Not Null And 版面 Is Not Null And 页码 Is Not Null")
    Dim r As Row
    For Each ary As String() In arys
        r = t.AddNew()
        r("竞争对手") = ary(0)
        r("刊物名称") = ary(1)
        r("出版日期") = ary(2)
        r("版面") = ary(3)
        r("页码") = ary(4)
    Next
    r = t.AddNew()
    r("次数") = arys.Count
Next
t.ResumeRedraw

 

我想实现

  各竞争对手打了多少版次的广告!

 

但是出错


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2014-3-24 16:28:12编辑过]

--  作者:lsy
--  发布时间:2014/3/24 16:43:00
--  
第一次做你这个,就出现上面的错误提示,换一个表,例如订单表,就没问题。
--  作者:gaoyong30000
--  发布时间:2014/3/24 16:51:00
--  
 奇怪呢 用你之前的代码没错  我加了一列就有问题
这是您之前的代码
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Select 刊物名称,出版日期,页码,版面,\'\'As 次数 From {保健品竞品明细}"
Dim t As Table = e.Form.Controls("Table1").Table
t.StopRedraw
t.DataSource = cmd.ExecuteReader()
t.DataTable.DataRows.Clear()
Dim vals As List(Of String) = DataTables("保健品竞品明细").GetValues("刊物名称","刊物名称 Is Not Null")
msgbox(1)
For Each val As String In vals
    Dim arys As List(Of String()) = DataTables("保健品竞品明细").GetValues("刊物名称|出版日期|版面|页码","刊物名称 = \'" & val & "\' and 出版日期 Is Not Null And 版面 Is Not Null And 页码 Is Not Null")
    Dim r As Row
    For Each ary As String() In arys
        r = t.AddNew()
        r("刊物名称") = ary(0)
        r("出版日期") = ary(1)
        r("版面") = ary(2)
        r("页码") = ary(3)
    Next
    r = t.AddNew()
    r("次数") = arys.Count
Next
t.ResumeRedraw

--  作者:lsy
--  发布时间:2014/3/24 17:13:00
--  

那就看“竞争对手”这一列,有什么古怪的字符。


--  作者:gaoyong30000
--  发布时间:2014/3/24 17:43:00
--  
 解决了 麻烦了~~~~~~~

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Select 竞争对手,刊物名称,出版日期,页码,版面,\'\'As 次数 From {保健品竞品明细}"
Dim t As Table = e.Form.Controls("Table1").Table
t.StopRedraw
t.DataSource = cmd.ExecuteReader()
t.DataTable.DataRows.Clear()
Dim vals As List(Of String) = DataTables("保健品竞品明细").GetValues("竞争对手","竞争对手 Is Not Null")
msgbox(1)
For Each val As String In vals
    Dim arys As List(Of String()) = DataTables("保健品竞品明细").GetValues("竞争对手|刊物名称|出版日期|版面|页码","刊物名称 = \'" & val & "\' And 竞争对手  Is Not Null and 出版日期 Is Not Null And 版面 Is Not Null And 页码 Is Not Null")
    Dim r As Row
    For Each ary As String() In arys
        r = t.AddNew()
        r("竞争对手") = ary(0)
        r("刊物名称") = ary(1)
        r("出版日期") = ary(2)
        r("版面") = ary(3)
        r("页码") = ary(4)
    Next
    r = t.AddNew()
    r("次数") = arys.Count
Next
t.ResumeRedraw

红色部分应该改成  竞争对手