Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

treeview筛选子窗体失败(知道原因但是无法解决,因为子窗体是“查阅”,对应的是ID,不是具体内容,求解决,谢谢)

阿默  发表于:2014-11-07 09:16:20  
复制

    各位老师好,求教一个筛选的问题,如下图。左边treeview我做成选单,想实现的功能是点击某型号,会在右侧窗体筛选出来。结果调试发现因为右侧的型号是用查询关联的(下拉菜单选择),所以表单对应的型号是1,2,3,4这样的型号ID,而不是DVE-5之类的型号。所以就算我在treeview中得到了点击的值也无法筛选。

    请问各位老师,有办法在右侧表中显示具体值而不是ID吗?或者还有什么其他好方法?谢谢各位!

Private Sub Treeview_NodeClick(ByVal Node As Object)
Dim str As String
If Node.Text = "快速选型参数" Or Node.Key Like "父*" Then
str = ""
Else
str = Trim(Node.Text)
str = " [型号] Like '" & str & "*'"
End If
Me.frm_DVE_family_data.Form.Filter = str
Me.frm_DVE_family_data.Form.FilterOn = True
End Sub

 

Top
西出阳关无故人 发表于:2014-11-07 11:50:57

dim theID AS LONG

...

str = Trim(Node.Text)

theID=dlookup("ID","表名称","型号='" & str & "'")   '就是到你的表中把型号(STR)对应的ID找出来
str = " [型号] = " &  theID

...



阿默 发表于:2014-11-07 13:02:28

    感谢“西出阳关无故人”的回答。

    你的意思我清楚,不过我想做的是多关键字搜索,比如“型号”点击一次筛选出一堆list,然后再点后面的“喉径”,再之前的基础上再次筛选,如果查找的是ID号的话,必须按照每一个列来分开获取treeview的ID分开筛选。

    我本来打算的是得到比如“DVE-5”这样的数据以后全局筛选,因为“DVE-5”这样的关键词是唯一的,全局筛选也可以减少代码量,一列一列单独筛选比较麻烦,后期拓展也不方便。

    不知道各位朋友还有没有其他好办法?比如让我右边表显示的时候直接映射出“实际值”而不是“ID值”,类似于网页的“静态网页”和“动态网页”的区别,静态网页能被搜索引擎捕捉到,但是动态不容易捕捉,所以现在网站为了提高搜索排名,都会用动态网页生成一系列静态的方便捕捉关键字。



西出阳关无故人 发表于:2014-11-10 09:09:09

我是这样处理的:

1/树结构用于准确的筛选

2/用一个文本框+按钮+切换按钮  进行模糊(多关键字)查询,文本框用于输入各关键字,如"中国 足球";切换按钮用于切换输入的"中国"和"足球"的关键字之间是与的关系还是或的关系;按钮嘛,就是对子窗体进行筛选的命令命令.

3/至于右侧文本框显示的值,可以用组合框的列宽来控制.



阿默 发表于:2014-11-14 09:20:50

    哈哈,再次感谢“西出阳关无故人”的回答。

    你的方法对我也是启发,不过考虑用户体验索性放弃treeview了,直接用数据表中的“导航栏”,里面也有“筛选”和“搜索”功能。

    当初之所以想做这么做是受IT网站的启发,比如电脑报价网站,勾选几个关键字就可以不断缩小范围,最终选择出符合自己要求的电脑机型,这样的感觉很好,我估计treeview也是可以实现的,不过要单独筛选出每个点击值对应的上层类别,并和右侧的列表框对应的列类别关联起来,这样的话哪怕我得到的是1.2.3这样的序号,在单列里面也是唯一值了。

    当然以上只是我的思路,说起来总比做起来简单,哈哈,再次感谢你的解答,谢谢!



总记录:4篇  页次:1/1 9 1 :