以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]将当前表中的选定行复制到另一表中,如何实现?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=1178)

--  作者:t_fs
--  发布时间:2008/11/19 16:45:00
--  [求助]将当前表中的选定行复制到另一表中,如何实现?

   将当前表中的选定行复制到另一表中,如何实现?在易表中用以下命令即可实现的功能,在狐表中如何用按扭来实现?谢谢了!!

CopyRows

将当前表中符合条件的行复制到其它表中。


--  作者:don
--  发布时间:2008/11/19 16:49:00
--  

数据填充器

Filler用于从表中提取数据,并填充到另一个表中。

属性:

SourceTable:       数据来源表。
SourceCols:        数据来源列,不同的列用逗号分割。
DataTable:         数据接收表。
DataCols:          数据接收列,不同的列用逗号分割。
ExcludeExistValue: 逻辑型,设为True,排除接收表中已经存在的内容。
ExcludeNullValue:  逻辑型,设为True,排除空白值。
Filter:            填充条件。
Distinct:          逻辑型,是否排除重复内容,默认为True;如果设为False,将不会排除重复内容,也不会排除已有内容和空白值。

方法:

Fill: 开始填充数据 

示例:

例如从订单表中提取不重复的客户、产品数据,填充到统计表中:

dim f As New Filler
f
.SourceTable = DataTables("订单") \'指定数据来源
f
.SourceCols = "产品,客户" \'指定数据来源列
f
.DataTable = DataTables("统计") \'指定数据接收表
f
.DataCols = "产品,客户" \'指定数据接收列
f
.Fill()
\'填充数据


--  作者:t_fs
--  发布时间:2008/11/20 7:25:00
--  
谢谢回复!
--  作者:t_fs
--  发布时间:2008/11/23 13:27:00
--  
       在下列代码中加入过滤条件,也可正确执行:


dim
f As New Filler
f
.SourceTable = DataTables("订单") \'指定数据来源
f
.SourceCols = "产品,客户" \'指定数据来源列
f
.DataTable = DataTables("统计") \'指定数据接收表
f
.DataCols = "产品,客户" \'指定数据接收列
f.Filter="[年]=\'2008\' and [月]=\'1\'"   \'  过滤条件
f
.Fill()
\'填充数据

     如果将代码中 

 
f.Filter="[年]=\'2008\' and [月]=\'1\'"     

   “2008” 和 “1” 换成窗口中 listbox1 和 listbox2 这二个控件中的值,让过滤结果随时可以变化,该如何引用呢?谢谢指点!!


--  作者:czy
--  发布时间:2008/11/23 13:45:00
--  
这样试试

 

Dim Year As String = e.Form.Controls("listbox1").text

Dim Month As String = e.Form.Controls("listbox2").text

dim f As New Filler

f.SourceTable = DataTables("订单") \'指定数据来源

f.SourceCols = "产品,客户" \'指定数据来源列

f.DataTable = DataTables("统计") \'指定数据接收表

f.DataCols = "产品,客户" \'指定数据接收列

f.Filter = "[年] = \'"& Year & "\' and [月] = \'"& Month &"\'"   \'  过滤条件

f.Fill() \'填充数据


--  作者:t_fs
--  发布时间:2008/11/23 14:14:00
--  
     谢谢C版的及时回复!
 
      我试了之后,出现错误提示,未能填充数据。好象是前二行的代码有误。烦请再给看看是什么原因,谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:tt截图未命名.bmp
图片点击可在新窗口打开查看

--  作者:czy
--  发布时间:2008/11/23 14:24:00
--  

是我搞错了,这样看看。

Dim Year As String = e.Form.Controls("listbox1").Value

Dim Month As String = e.Form.Controls("listbox2").Value

dim f As New Filler

f.SourceTable = DataTables("订单") \'指定数据来源

f.SourceCols = "产品,客户" \'指定数据来源列

f.DataTable = DataTables("统计") \'指定数据接收表

f.DataCols = "产品,客户" \'指定数据接收列

f.Filter = "[年] = \'"& Year & "\' and [月] = \'"& Month &"\'"   \'  过滤条件

f.Fill() \'填充数据


--  作者:t_fs
--  发布时间:2008/11/23 15:47:00
--  
       year和month 的变量定义已经通过,但是


f.Filter = "[年] = \'"& Year & "\' and [月] = \'"& Month &"\'"   \'  过滤条件


    还是出现问题,一个是语法问题,另一个是否是因为我的表中[年]和[月]均是数值型表达式列,能否是因为 Year 和 Month 定义的是字符型,不匹配的原因。再次谢谢!

 
   请看错误提示:


图片点击可在新窗口打开查看此主题相关图片如下:tt截图未命名.bmp
图片点击可在新窗口打开查看

--  作者:t_fs
--  发布时间:2008/11/23 16:04:00
--  
   试了一下将定义行改成如下,与字段类型一致:

Dim Year As Short = e.Form.Controls("listbox1").Value

Dim Month As Byte = e.Form.Controls("listbox2").Value

     这次未出现错误提示,但是也并未将选定行复制到另一表中。


--  作者:czy
--  发布时间:2008/11/23 16:37:00
--  
测试了一下,没发现你所说的问题,可否传你的文件看看。