77范文网 - 专业文章范例文档资料分享平台

foxtable编程(2)

来源:网络收集 时间:2019-04-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

If dt.HasChanges Then Output.Show(dt.Name) End If End If Next

AddNew

在DataTable中增加一行或多行,并返回所增加的第一行。 AddNew() AddNew(Count)

Count: 可选参数,要增加的行数,如果省略,则只增加一行。 例如:

Dim dr As DataRow

dr = DataTables(\订单\).AddNew()

dr(\日期\) = Date.Today '将新增行的日期设为当天日期。

其实我们很少直接向DataTable增加行,更多的时候,我们是向Table中增加行,原因以后会讲述。 Save 保存数据。 语法: Save() Save(Setting)

Setting: 可选参数,是否保存设置。 例如单单保存数据: DataTables(\订单\).Save() 同时保存数据和设置: DataTables(\订单\).Save(True) 保存设置比较耗时,会影响保存速度。 菜单中的保存命令是同时保存数据和设置的。

如果你学会了设计菜单或窗口,你可以自己设计一个保存按钮,将其代码设为:

For Each dt As DataTable In DataTables dt.Save() Next

这样单击这个按钮就能保存所有表,但是不会保存设置;对于一个成熟的、已经交付使用的项目,有时是没有必要保存设置的。

GetUniqueValues

从指定列中,获取不重复的值,以集合的形式返回。 语法:

GetUniqueValues(Filter, Col1, Col2, Col3....)

Filter: 条件表达式,请参考表达式的运算符和函数 和 条件表达式 Col1: 指定列名称,可以指定多列。

如果只从一列中提取不重复值,那么返回的是一个字符串集合;如果从多列中提取不重复值,那么返回的是一个字符串数组集合,数组的长度等于指定的列数。

在执行以下示例之前,请打开CaseStudy目录下的示例文件\统计演示.Table\。 示例一

列出1999年6月1日后订购过PD01产品的客户名单: Dim Customers As List(Of String)

Customers = DataTables(\订单\).GetUniqueValues(\产品]= 'PD01' And [日期] > #6/1/1999#\, \客户\)

For i As Integer = 0 To Customers.Count - 1 '其实用For Each好一点,这里只是顺便提供遍历集合的另一种用法。 Output.Show(Customers(i)) Next 示例二

Filter参数是不能省略的,如果希望无条件地返回值的集合,将Filter参数设置为\即可。 例如列出订单表中所有的客户名单: Dim Customers As List(Of String)

Customers = DataTables(\订单\).GetUniqueValues(\\客户\) For Each Customer As String In Customers Output.Show(Customer) Next

示例三

可以同时从多列提取不重复的值,此时返回的不是字符的集合,而是字符数组的集合。 例如从客户列和产品列提取不重复的值:

'定义数组集合的时候,要在类型后加上括号,表示这是一个数组集合。 Dim Arys As List(Of String())

Arys = DataTables(\订单\).GetUniqueValues(\\客户\产品\) '注意循环变量是字符型数组,所以类型是String(),而不是String For Each Ary As String() In Arys Output.Show(Ary(0) & \ & Ary(1)) Next

上面的代码是从客户和产品两列提取不重复的值,返回的不是一个字符集合,而是一个字符数组集合,每个数组包括两个元素,第一个元素是客户值,第二个元素是产品值。

GetComboListString

从指定的列中提取不重复的值,用符号\将这些值连接成一个字符串,并返回这个字符串。 此方法通常用于动态设置列表项目。 语法:

GetComboListString(ColumnName,Filter, Sort) ColumnName:列名称,从此列中提取不重复的值。

Filter: 可选参数,指定一个条件表达式,只返回符合此条件的值。

Sort: 可选参数,指定排序列,如果省略,则根据取值列排序,通常无需设置。

请参考表达式的运算符和函数 和 条件表达式 示例

Output.Show(DataTables(\订单\).GetComboListString(\产品\)) 也可以设置条件,例如从客户表中提取华北地区的客户名单: Dim s As String

s = DataTables(\客户\).GetComboListString(\客户名称\,\地区] = '华北'\) Output.Show(s)

Compute

根据条件统计表中数据。 语法:

Compute(Expression, Filter)

Expression: 要计算的表达式,使用聚合函数进行统计。

Filter: 可选参数,用于设置计算条件,请参考表达式的运算符和函数 和 条件表达式。 在执行以下示例之前,请打开CaseStudy目录下的示例文件\统计演示.Table\。 示例一

计算总的销售数量和金额: Dim Total As Integer Dim Amount As Double With DataTables(\订单\) Total = .Compute(\数量)\) Amount = .Compute(\金额)\) End With

Output.Show(\数量:\& Total) Output.Show(\金额:\& Amount) 示例二

计算产品PD01的销售数量: Dim Total As Long

Total = DataTables(\订单\).Compute(\数量)\, \产品 = 'PD01'\) Output.Show(Total) 示例三

计算每个客户的订购数量:

Dim dt As DataTable = DataTables(\订单\) Dim Total As Integer

Dim Customers As List(Of String)

Customers = dt.GetUniqueValues(\\客户\) For Each Customer As String In Customers

Total = dt.Compute(\数量)\, \客户] = '\ & Customer & \) Output.Show(Customer & \ & Total) Next

上述代码中,Filter参数分成了三部分,各部分用运算符&连接起来: \客户] = '\ & Customer & \

如果客户名称为CS01,那么三部分组合后,Filter参数就等于:

\客户] = 'CS01'\

通过代码动态合成条件表达式,是一种基本的技能,大家务必要掌握。 参考:GetUniqueValues

Find

在DataTable查找符合条件的行,如果找到的话,返回找到的行,否则返回Nothing。 如果有多个符合条件的行,默认返回第一个,也可以指定返回第几个符合条件的行。 语法:

Find(Filter,Sort,Index)

Filter: 条件表达式,请参考表达式的运算符和函数 和 条件表达式。 Sort: 可选参数,指定排序方式。

Index: 可选参数,指定返回第几个符合条件的行,0表示第一行。 示例一: Dim dr As DataRow

dr = DataTables(\产品\).Find(\产品编号 = '03'\) '找出编号为03的产品 With DataTables(\订单\)

dr = .Find(\产品 = 'PD01'\,\日期\) '找出第一次订购PD01产品的记录 dr = .Find(\产品 = 'PD01'\,\日期\,1) '找出第二次订购PD01产品的记录 End With 示例二:

有的时候,我们需要查找倒数第几行数据,例如最近一次订购某产品的记录。 可以参考下面的代码: Dim dr As DataRow With DataTables(\订单\)

dr = .Find(\产品 = 'PD01'\,\日期 Desc\) '找出最后一次订购PD01产品的记录 dr = .Find(\产品 = 'PD01'\,\日期 Desc\,1) '找出倒数第二次订购PD01产品的记录 End With

可以看到代码和原来几乎一样,唯一的变化是排序参数,被改为:日期 Desc

加上DESC使得日期按照降序排序,最后的日期排在最前面,我们所找出的第一条记录,就是最后一次订购产品PD01的记录。 示例三

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库foxtable编程(2)在线全文阅读。

foxtable编程(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/566091.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: