Access交流中心

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

求VBA代码更改窗体控件类型

久石让的粉丝  发表于:2014-03-11 19:39:40  
复制

求VBA代码更改窗体控件类型,想通过VBA代码实现,当文本框控件获得焦点后转换成组合框,失去焦点后将组合框选中的内容复制到文本框

 

Top
cspa 发表于:2014-03-11 20:49:11
这是要玩自虐吗?

落尘_小新 发表于:2014-03-12 00:59:18

窗体在非设计视图的情况下,文本框想要改成组合框,好像不太容易实现,(如果可以,那就是我还不知道.)

不过,按你的要求,可以变通一下来实现同样的效果.

思路如下:

建一个和该文本框同样大小的组合框,然后把组合框置于该文本框的底层并让此两个控件完全重叠.

然后在文本框获得焦点事件中写代码把焦点转移支组合框.(这时你就可以在组合框中选择数据)

最后在组合框失去焦点事件中写代码让文本框等于组合框的数据.(这时组合框失去了焦点,而它还在文本框的底层,给人的表面假象就如同组合框变成了文本框)

示例供参考:

点击下载此附件



久石让的粉丝 发表于:2014-03-14 21:01:50
cspa玩的就是心跳,呵呵落尘_小新做的就是我要的结果,可是真的没有代码实现吗?

蟹仔 发表于:2014-03-14 21:53:50
发现你的问题都很奇怪。有点转牛角尖的感觉,难道你的最终目的是隐藏组合框的三角形图标?弄个矩形把他挡住不就行了!

久石让的粉丝 发表于:2014-03-15 20:56:38
蟹仔理解错了,我的最终目的是如果控件没有填任何数据,就显示红色的字样(必填),这种现实可以在控件格式中设置,但是组合框和日期选取框是不可以设置的,具体效果如图。

落尘_小新 发表于:2014-03-16 22:04:58

cspa玩的就是心跳,呵呵落尘_小新做的就是我要的结果,可是真的没有代码实现吗?


有没有代码可以实现我还真不确定,至少我还不知道.不好下结论.

不过即然我的方法可以实现你的要求,你又何必非得找那个代码呢.目地达到了就是好的.而且,这样做也不会对你的系统造成多大的影响.

等哪一天如果你发现了不一样的方法,你再改过去就是了.

这个问题可以就此结贴了.



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