2017-05-25 140 views
0

我想添加一些数据到'列表'形式(完全复制)。 以下是我的代码。将数据添加到列表VBA

Option Compare Database 
Private Sub addToListSample_Click() 
Dim introw As Integer 

introw = ListSample.ListIndex + 1 

ListSample.Column(0, introw) = TextP11.Value 
ListSample.Column(1, introw) = TextP12.Value 
ListSample.Column(2, introw) = TextP13.Value 
ListSample.Column(3, introw) = TextP14.Value 
ListSample.Column(4, introw) = TextP15.Value 
ListSample.Column(5, introw) = TextP16.Value 
ListSample.Column(6, introw) = TextP17.Value 
End Sub 

但是,当我执行它,我得到以下错误。 “运行时错误”424“:所需的对象”

为什么我会收到此错误?我觉得这是很容易的代码,但我不知道为什么这个错误继续讨厌我....

+0

对象名称错误。它在模块中还是直接在表单中? – UGP

+0

我做了一个List表单,当我点击它时,上面的代码将被执行。它不在模块中。它在'Microsft Access Class Obejcts'中。 –

+0

这是一个列表框? – wazz

回答

0

开始通过改变

introw = ListSample.ListIndex + 1 

introw = Me.ListSample.ListIndex + 1 

在某些时候你可能还必须检查列表框是否被选中,否则你将总是得到0.

编辑:

'add a row with hard-coded values: 
'Dim introw As Integer 
'introw = Me.lstEmpty.ListIndex + 1 '<-- not really needed when using AddItem. 
'Me.lstEmpty.AddItem "value 1;value 2" 

'or add a row using values from textboxes: 
Me.ListSample.AddItem TextP11.Value & ";" & TextP12.Value & ";" & TextP13.Value 

这会将值添加到不同列中的一行。
您的列表框的行来源类型必须设置为价值列表
列数必须与您添加的列数相匹配。