Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[讨论] 关于GetUniqueValues

1楼
wcs 发表于:2008/10/22 22:17:00

GetUniqueValues

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

想问一下,以集合形式返回的不重复的值,如何填入表的某一列中?

我的想法是,A表第一列从B表第一列中提取不重复的内容,像易表中就可以直接解决这个问题。

2楼
czy 发表于:2008/10/22 22:50:00
这样吗?

 

Dim lts As List(Of String)

lts = DataTables("A").GetUniqueValues("", "第一列")

For Each lt As String In lts

    For i As integer = 0 to lts.count -1

      CurrentTable.Rows(i)("第一列") = lts(i)

   Next

Next

3楼
wcs 发表于:2008/10/22 22:59:00
代码中:
For Each
lt As String In lts
......

Next


作什么用?变量lt好像什么用啊?

我理解了一下:将GetUniqueValues返回的不重复值装入数组lts,
       再用for  next给需要的每一行赋值。

这中间lt没什么用啊!


不过感觉这样的效率会不很高吧,如果不重复的值达一万行,可能速度较慢。


4楼
jweishan 发表于:2008/10/22 23:12:00

这种情况可以用数据填充器啊!

5楼
lxl 发表于:2008/10/22 23:19:00

数据多的话可以用数据填充器
C版那个是笔误,多嵌套了一个循环.
Dim lts As List(Of String)

lts = DataTables("表A").GetUniqueValues("", "第一列")

For i As integer = 0 to lts.count -1
   CurrentTable.Rows(i)("第一列") = lts(i)

Next

或者是

Dim lts As List(Of String)

lts = DataTables("表A").GetUniqueValues("", "第一列")
Dim i As Integer = 0

For Each lt As String In lts

    CurrentTable.Rows(i)("第一列") = lts(i)
    i = i + 1

Next


6楼
czy 发表于:2008/10/22 23:33:00
呵,这段时间太忙,把学到的都还给老六了。
7楼
wcs 发表于:2008/10/23 8:04:00

我试试数据填充器,这个效率可能高一些的。

总感觉循环10000次,是不是会太慢。

等下来报告结果。

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.