VB处理access数据库的问题,关于筛选值的问题
具体举例:CN 字段1 字段2 字段3……*********1 2.33 0 3.54……
*********……
想通过VB编程来实现每一个CN对应的字段1、字段2……的值提取最大的前三个,并且保留在原来的位置,其他数据清零,自己编程总是不对,求大神指点该如何实现,谢谢。 VB 数据库 access --------------------编程问答-------------------- 你目前的代码是什么样?
另外这个解决方案主要是VB程序中实现,与数据库关系不大。 --------------------编程问答-------------------- 举例说明要求,记录要有代表性 --------------------编程问答--------------------
如果您自己解决这个问题,请问您知道怎么做吗? --------------------编程问答--------------------
我的数据库如上图,我只是截了一小部分,后面还有很多
要求是这不是有很多CN(点代码),每一个CN,也就是每一个点内有很多树种,我想把每一个点只选出数量最多的三种树种,并且还要留在原来的位置,以便知道这是什么树种,您明白了吗? --------------------编程问答-------------------- 直接贴文本,记录及要求结果,免得猜结果
并且还要留在原来的位置:解释一下 --------------------编程问答--------------------
数据比较大,直接贴不太好贴,能留个联系方式,直接跟您聊吗 --------------------编程问答-------------------- 选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 , 数据库(包含打印,安装,报表)