Access交流中心

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

[5分]SearchComboBox类的组合框,下拉菜单无法自动弹出

年杰  发表于:2018-07-27 15:28:21  
复制

请问把某个组合框绑定为SearchComboBox类对象后,出现在该组合框里输入数据,不会自动弹出下拉菜单的情况(有的时候会弹出,但大部分情况下不会弹出,目前没发现规律)。
其余一切正常,也不会弹出报错之类的提示,而且这个问题是刚刚出现,之前一直正常,且只有该窗体的组合框出现这种情况,其余窗体的组合框正常。请问可能是什么原因造成的?

 

Top
年杰 发表于:2018-07-27 16:29:31

目前发现造成该错误的原因是(控件和代码进行了简写,但是效果一样):

该组合框存在于某个绑定了数据源的【子窗体A】中,我在该【子窗体A】中新增了一个计算类型的【文本控件C1】,并且在子窗体A的【父窗体PA】的Load事件中,向该计算控件进行赋值

Private Sub Form_Load()

    窗体A.文本控件C1 = 1

End sub

就是这一步导致组合框的下拉菜单无法自动弹出,而且我发现如果用Requery刷新该【子窗体A】时,是没有任何效果的。只有当用使用如下代码:

父窗体PA.sfrDetail.SourceObject = 父窗体PA.sfrDetail.SourceObject(sfrDetail是子窗体A对应在父窗体PA中的子窗体控件名称)

来重置源对象的时候,才可以使下拉菜单的弹出恢复正常,但此时文本控件C1的值也同时消失了。

对于上面说所的原因我感到非常奇怪,简直丈二和尚摸不着头脑,还请高手指点一二。



年杰 发表于:2018-07-27 22:27:52


现在又发现,对于一个绑定数据源的窗体,如果存在一个未绑定的计算控件,当在设计界面为该控件的控件源属性(似乎它的Value属性,甚至是一个Label控件的Caption属性)赋值表达式时,该窗体运行时都不会发生SearchComboBox类组合框下拉菜单无法自动弹出的现象。

但是如果在vba里它的父窗体的Load事件为它的控件源属性(似乎它的Value属性,甚至是一个Label控件的Caption属性)赋值表达式时,都会导致该窗体的SearchComboBox类组合框下拉菜单无法自动弹出的现象。

点击下载此附件




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