一个 ListView 控件(列表显示),有3个子项,其中第1个是序(Checked属性),第2个第3个是数据数据情况:
第2个第3个都有重复的数据,
要求:
A项重复数据中,只保留最上项或最下项不选择
必须同时满足B项目也是重复的举例:
序号 A B
1 10 0.1
2 10 0.2
3 10 0.2
4 10 0.2
5 10 1.6
6 10 1.6
7 20 1.5
8 20 1.5
9 20 1.5
10 20 1.5
11 20 1.1
12 20 1.1
13 30 2.8
14 30 2.8
15 30 2.8
16 30 0.8
17 30 0.8
18 30 0.8最后结果是:
从上往下选序号 A B
2 10 0.2
3 10 0.2
5 10 1.6
7 20 1.5
8 20 1.5
9 20 1.5
11 20 1.1
13 30 2.8
14 30 2.8
16 30 0.8
17 30 0.8从下往上选是
序号 A B
3 10 0.2
4 10 0.2
6 10 1.6
8 20 1.5
9 20 1.5
10 20 1.5
12 20 1.1
14 30 2.8
15 30 2.8
17 30 0.8
18 30 0.8谁能帮我,50分相送
并致以崇高的敬礼
第2个第3个都有重复的数据,
要求:
A项重复数据中,只保留最上项或最下项不选择
必须同时满足B项目也是重复的举例:
序号 A B
1 10 0.1
2 10 0.2
3 10 0.2
4 10 0.2
5 10 1.6
6 10 1.6
7 20 1.5
8 20 1.5
9 20 1.5
10 20 1.5
11 20 1.1
12 20 1.1
13 30 2.8
14 30 2.8
15 30 2.8
16 30 0.8
17 30 0.8
18 30 0.8最后结果是:
从上往下选序号 A B
2 10 0.2
3 10 0.2
5 10 1.6
7 20 1.5
8 20 1.5
9 20 1.5
11 20 1.1
13 30 2.8
14 30 2.8
16 30 0.8
17 30 0.8从下往上选是
序号 A B
3 10 0.2
4 10 0.2
6 10 1.6
8 20 1.5
9 20 1.5
10 20 1.5
12 20 1.1
14 30 2.8
15 30 2.8
17 30 0.8
18 30 0.8谁能帮我,50分相送
并致以崇高的敬礼
oRst.Fields.Append "ID", adBigInt
oRst.Fields.Append "A", adBigInt
oRst.Fields.Append "B", adDouble
oRst.Open这里做个循环,把ListView的数读进来
oRst.AddNew
oRst.Fields(0).Value = 1
oRst.Fields(1).Value = 10
oRst.Fields(2).Value = 0.1
oRst.Update从上往下搜索时
oRst.Sort = "A, B, ID ASC"从下往上搜索时
oRst.Sort = "A, B, ID DESC"Dim nID as long
Dim nA as long
Dim nB as Double'初始化为不可能出现的值
nA = 0
nB = 0oRst.MoveFirst
Do
If oRst.EOF = True Then Exit Do
If oRst.Fields(1).Value <> nA Or oRst.Fields(2).Value <> nB Then
nA = oRst.Fields(1).Value
nB = oRst.Fields(2).Value
oRst.Delete adAffectCurrent
End If
oRst.MoveNext
Loop
这样就把数据筛选出来了,根据筛选出来的数据在ListView作相应处理就可以了