当前位置:编程学习 > VB >>

VB处理access数据库的问题,关于筛选值的问题

具体举例:CN 字段1  字段2  字段3……
*********1 2.33    0    3.54……
*********……
想通过VB编程来实现每一个CN对应的字段1、字段2……的值提取最大的前三个,并且保留在原来的位置,其他数据清零,自己编程总是不对,求大神指点该如何实现,谢谢。 VB 数据库 access --------------------编程问答-------------------- 你目前的代码是什么样?
另外这个解决方案主要是VB程序中实现,与数据库关系不大。 --------------------编程问答-------------------- 举例说明要求,记录要有代表性 --------------------编程问答--------------------
引用 1 楼 ACMAIN_CHM 的回复:
你目前的代码是什么样?
另外这个解决方案主要是VB程序中实现,与数据库关系不大。

如果您自己解决这个问题,请问您知道怎么做吗? --------------------编程问答--------------------
引用 2 楼 wwwwb 的回复:
举例说明要求,记录要有代表性


我的数据库如上图,我只是截了一小部分,后面还有很多
要求是这不是有很多CN(点代码),每一个CN,也就是每一个点内有很多树种,我想把每一个点只选出数量最多的三种树种,并且还要留在原来的位置,以便知道这是什么树种,您明白了吗? --------------------编程问答-------------------- 直接贴文本,记录及要求结果,免得猜结果
并且还要留在原来的位置:解释一下 --------------------编程问答--------------------
引用 5 楼 wwwwb 的回复:
直接贴文本,记录及要求结果,免得猜结果
并且还要留在原来的位置:解释一下

数据比较大,直接贴不太好贴,能留个联系方式,直接跟您聊吗 --------------------编程问答-------------------- 选1个CN,20条记录,贴记录及要求结果 --------------------编程问答--------------------
引用 7 楼 wwwwb 的回复:
选1个CN,20条记录,贴记录及要求结果

我还是截图吧 贴文本太乱了

想要的结果:

正如上面看到的,一共有很多值,但是我只想把最大的那三个显示出来,其他的都删掉,实际上这个表字段大概有100多个吧,而且需要处理的表有50个,就想通过一个程序处理。 --------------------编程问答-------------------- 但是我只想把最大的那三个显示出来:比如43、67、68最大的三个?
你就用这3个字段,贴20条记录的文本及要求结果
OR
上传你的MDB(2000格式)到www.access911.net/csdn
只要有问题的表,用WINRAR压缩 --------------------编程问答-------------------- 在VB中利用ADO打开这个表的记录录,然后循环遍历逐记录处理。
在处理中对 fields(1),fields(2),...fields(N),进行排序并取得最大的三个,然后在写回到字段中后UPDATE。

这个问题与数据库本身没什么关系。主要是VB中的算法和如何通过ADO操作数据库结果集。

帮你转到VB版去了。 --------------------编程问答-------------------- 你这个表设计有问题,要实现你的意图会非常麻烦,甚至难以实现
建议你的表按下面格式更改

cn 字段号 值
1   1    2.33
1   2    0
1   3    3.54
--------------------编程问答-------------------- 表结构不合理。高效的数据库表必须是线性,且数据与位置无关。

你的应用可以这样:
CN, TypeCode, mValue
1399..., 43, 63.312596
......

补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,