相关疑难解决方法(0)

MS Access准备好的声明

是否可以在VBA中的本地表上的MS Access中执行预准备语句,如下所示:

UPDATE part SET part_description=? WHERE part_id=?
Run Code Online (Sandbox Code Playgroud)

如果是这样怎么办?

ms-access vba access-vba

11
推荐指数
1
解决办法
6235
查看次数

如何使用VBA使用Recordset填充ComboBox

专家交流teck共和国有一些文献可以 使用combobox.recordset属性来填充Access表单中的组合框.

这些控件通常在控件的"rowsource"属性中填充"SELECT*"字符串,引用应用程序客户端上可用的表或查询.当我需要在组合框中显示服务器端数据时,我创建一个临时本地表并导入请求的记录.这非常耗时,特别适用于大型桌子.

能够使用记录集来填充组合框控件将允许用户直接显示来自服务器端的数据.

受前面两个例子的启发,我写了一些代码如下:

Dim rsPersonne as ADODB.recordset
Set rsPersonne = New ADODB.Recordset

Set rsPersonne.ActiveConnection = connexionActive
rsPersonne.CursorType = adOpenDynamic
rsPersonne.LockType = adLockPessimistic
rsPersonne.CursorLocation = adUseClient

rsPersonne.Open "SELECT id_Personne, nomPersonne FROM Tbl_Personne"

fc().Controls("id_Personne").Recordset = rsPersonne
Run Code Online (Sandbox Code Playgroud)

哪里:

  • connexionActive:是我与数据库服务器的永久ADO连接
  • fc():是我当前/活跃的表格
  • controls("id_Personne"):是用于填充公司员工列表的组合框控件
  • 2003年访问版本

不幸的是,它不起作用!

在调试模式下,我能够检查记录集是否已正确创建,具有请求的列和数据,并且与组合框控件正确关联.不幸的是,当我显示表单时,我不断得到一个空的组合框,没有记录!任何帮助都非常感谢.

编辑:

这个记录集属性确实可用于特定的组合框对象,而不是标准控制对象,几天前我发现它非常惊讶.我已经尝试使用combobox的回调函数,或者使用组合框的"addItem"方法填充列表.所有这些都很耗时.

ms-access vba combobox adodb recordset

8
推荐指数
3
解决办法
8万
查看次数

标签 统计

ms-access ×2

vba ×2

access-vba ×1

adodb ×1

combobox ×1

recordset ×1