以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教事件写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=732)

--  作者:cowpoke
--  发布时间:2008/9/28 16:08:00
--  请教事件写法
各位版主:这是写在项目属性中的一个事件,下面的第一行和第三行存在错误,真不知咋改了,请赐教:
dim dr1 as datarow = datatables("储蓄数据分类").datarows    
Dim dr2 As DataRow = DataTables("储蓄客管数据").Find("[年度] = " & (dr1("年度")) & " And [月份] = " & dr1("月份") & " and [单位代码]=" & dr1("单位代码"))
if dr1("年度")<>dr2("年度") & and dr1("月份")<>dr2("月份") & and dr1("单位代码")<>dr2("单位代码") & then
dim f As New Filler
f.SourceTable = datatables("储蓄客管数据")\'       数据来源表.
f.SourceCols = "单位代码,单位名称" \'        数据来源列,不同的列用逗号分割.
f.DataTable = datatables("储蓄数据分类") \'        数据接收表.
f.DataCols = "单位代码,单位名称" \'         数据接收列,不同的列用逗号分割.
f.ExcludeExistValue = true \'false \' 逻辑型,设为True,排除接收表已经存在的内容.
f.ExcludeNullValue = true \'   逻辑型,设为True,排除空白值.
f.Fill()
end if

--  作者:smileboy
--  发布时间:2008/9/28 16:15:00
--  
dim dr1 as datarow = datatables("储蓄数据分类").datarows    
Dim dr2 As DataRow = DataTables("储蓄客管数据").Find("[年度] = \'" & (dr1("年度")) & "\' And [月份] = \'" & dr1("月份") & "\' and [单位代码]=\'" & dr1("单位代码") & \'")
if dr1("年度")<>dr2("年度")  and dr1("月份")<>dr2("月份")  and dr1("单位代码")<>dr2("单位代码")  then
dim f As New Filler
f.SourceTable = datatables("储蓄客管数据")\'       数据来源表.
f.SourceCols = "单位代码,单位名称" \'        数据来源列,不同的列用逗号分割.
f.DataTable = datatables("储蓄数据分类") \'        数据接收表.
f.DataCols = "单位代码,单位名称" \'         数据接收列,不同的列用逗号分割.
f.ExcludeExistValue = true \'false \' 逻辑型,设为True,排除接收表已经存在的内容.
f.ExcludeNullValue = true \'   逻辑型,设为True,排除空白值.
f.Fill()
end if
--  作者:cowpoke
--  发布时间:2008/9/28 16:30:00
--  

报错:AND 运算符前缺少操作参数


--  作者:贺老六
--  发布时间:2008/9/28 16:55:00
--  

别的不说明,单单第一行,就有错:

Dim dr1 as datarow = datatables("储蓄数据分类").datarows  

至少应该:

Dim dr1 as datarow = datatables("储蓄数据分类").datarows(x)

x表示行号。

除代码,最好传文件,说明这段代码的设计目的以及遇到的问题。




--  作者:cowpoke
--  发布时间:2008/9/28 18:07:00
--  
贺总:文件已上传,只有部分数据.问题如下:
   一 对于数据管理软件,真的很是希望数值列的默认值设为0.00,如个别另有需要可重新设置,毕竟在全国来说,使用0.00的格式相对要多的多.(如我这表,设置完真得花点功夫,这是连最基本的国民待遇都没享受到)
   二 本表的思路为:"储蓄客管数据"(下称表1)来自于复制,每月有新数据;"储蓄数据分类"(下称表2)数据来源于表1,在项目属性中的事件是想实现在打开表2时,自动查找表1中是否有新的数据,按[单位代码 ][年度][月份]三列去识别,如果有新数据,就自动填充到表2中,麻烦你就随便对应计算几列吧,其它的给我自己来吧.
   三 在代码书写中如果一行太长,需要二行书写时,在第一行末以哪符号连接?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:咨询.table


--  作者:cowpoke
--  发布时间:2008/9/28 22:46:00
--  
自己顶一下..
--  作者:贺老六
--  发布时间:2008/9/28 22:51:00
--  

想帮你,但是估计大家和我一样,看不懂你的意思


--  作者:cowpoke
--  发布时间:2008/9/28 23:17:00
--  
精减一下:
表1每月有新数据输入
表2数据来源于表1
想实现在打开表2时,自动查找表1中是否有新的数据,按[单位代码][年度][月份]三列去识别,如果有新数据,就自动填充到表2中.
谢谢

--  作者:贺老六
--  发布时间:2008/9/28 23:27:00
--  
dim f As New Filler
f.SourceTable = DataTables("储蓄客管数据") \'指定数据来源
f.SourceCols = "单位代码,年度,月份" \'指定数据来源列
f.DataTable = DataTables("储蓄数据分类") \'指定数据接收表
f.DataCols = "单位代码,年度,月份" \'指定数据接收列
f.ExcludeExistValue = True \'排除已经存在的内容
f.Fill() \'填充数据

--  作者:贺老六
--  发布时间:2008/9/28 23:31:00
--  
不过这样做效率太低,最好在储蓄数据分类设计一个窗口,窗口加一个刷新按钮,按钮的Click事件代码设置为上面的代码,需要刷新的时候,单击这个按钮。
否则数据量大的时候,效率会让你头疼。