Access交流中心

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

[5分]弹出窗体上控件无法获得焦点

逍遥小子  发表于:2015-06-13 21:21:42  
复制

现有一弹出窗体formA,并设置为Access打开时自动弹出窗体formA,在formA上有文本框txtname,在窗体formA的加载事件中写代码如下:

Private Sub Form_Load()
    Me.txtname.SetFocus
End Sub
在这种情况下txtname控件无法获得焦点,将窗体formA的模式设置为“是”之后,txtname控件是可以获得焦点,但是隐藏左侧导航窗格的代码又不能运行了。

隐藏左侧导航窗格的方法是使用的本网站网友提供的方法,具体如下:


VBA的标准模块中新建一个函数:

Public Function CloseNavigationPane()
    '隐藏导航窗格
    Dim strTableName As Variant
    strTableName = DLookup("Name", "mSysObjects", "[Type] = 1 AND [Flags] = 0")
    DoCmd.SelectObject acTable, strTableName, True
    DoCmd.RunCommand acCmdWindowHide
End Function

然后再新建一个名为AutoExec的宏,在宏中用RunCode宏命令调用上面的CloseNavigationPane函数。特别说明一下,当我把窗体 模式设置为 “否”时,改代码可以隐藏左侧导航窗格,但txtname无法获得焦点;当把formA窗体的 模式设置为“是”时,txtname控件可以获得焦点,但是隐藏导航窗格的代码又不起作用了。怎么办?


 

Top
缪炜 发表于:2015-06-15 08:27:52
你把这个控件的tab键的键位改成1试试

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