Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何通过设置其文本属性强制匹配组合框行源行?_Vba_Ms Access_Combobox_Autocomplete - Fatal编程技术网

Vba 如何通过设置其文本属性强制匹配组合框行源行?

Vba 如何通过设置其文本属性强制匹配组合框行源行?,vba,ms-access,combobox,autocomplete,Vba,Ms Access,Combobox,Autocomplete,在车间,使用带有较大按钮的虚拟(触摸)键盘表单将文本输入文本框和组合框 这可以正常工作,并且组合框文本设置正确,但是行源与使用物理键盘直接在组合框中键入时不匹配。整个列表将显示,就像您刚刚按下下拉按钮而未键入字符一样 在下面的示例中,列表中有一个Stefan,但未查找该行 我尝试了设置焦点,重新查询,刷新,脏的,并在更新后调用,但都没有成功 我甚至尝试过选择、Cut和Paste文本(但即使将SelStart和SelLength设置为正确值也不会选择它,因此我假设它会剪切并粘贴一系列零字符)。如果

在车间,使用带有较大按钮的虚拟(触摸)键盘表单将文本输入文本框和组合框

这可以正常工作,并且组合框文本设置正确,但是行源与使用物理键盘直接在组合框中键入时不匹配。整个列表将显示,就像您刚刚按下下拉按钮而未键入字符一样

在下面的示例中,列表中有一个Stefan,但未查找该行

我尝试了
设置焦点
重新查询
刷新
脏的
,并在更新后调用
,但都没有成功

我甚至尝试过选择、
Cut
Paste
文本(但即使将
SelStart
SelLength
设置为正确值也不会选择它,因此我假设它会剪切并粘贴一系列零字符)。如果我能让文本选择工作,我可能会让它工作

Dim ctrlPrevious As Control
Set ctrlPrevious = Screen.PreviousControl
ctrlPrevious.SetFocus
ctrlPrevious.text = sTemp
ctrlPrevious.SelStart = 0
ctrlPrevious.SelLength = Len(sTemp)
ctrlPrevious.Cut
ctrlPrevious.Paste

是否有办法强制执行自动完成行为?

使用
发送键来模拟正常的键盘操作,而不是上述所有代码。
因此,在您的
btnPressed\u中单击了
事件

Dim ctrlPrevious As Control
Set ctrlPrevious = Screen.PreviousControl
ctrlPrevious.SetFocus   
SendKeys btnPressed.caption

美丽的!这么简单。我早该想到的。但我却对控制的方法视而不见