女士访问的AddItem用VBA(Ms Access AddItem with VBA)

2019-09-22 03:19发布

我有上有一个按钮形式。 按钮基本上拷贝记录从一个表到另一个。 作为记录被读取并复制,还检查特定的值。 例如,如果表中的一个字段为“”,那么它应该调用的另一种形式,让我输入一个日期值。 一旦日期输入和窗体关闭程序与复制进行。 它也有可能发生的是,在表中的重点领域正在复制是重复的。 在这种情况下,我应该在“列表框的形式”应该与显示的重复记录值的列表框启动。 那么我应该选择我需要复制正确的记录。

 Dim NumberCount As Long
     NumberCount = RecordsetElementValue.RecordCount
     If NumberCount > 1 Then
         With Form_F_ListBox.List30
             RecordsetElementValue.MoveFirst
             Do
                With Forms!F_ListBox.List30.AddItem(RecordsetElementValue!E_ElementValue)
                End With
                RecordsetElementValue.MoveNext
             Loop Until RecordsetElementValue.EOF = True
             DoCmd.OpenForm "F_ListBox", acNormal
         End With
     End If

上面的代码示例是我对万一有重复记录(NumberCount> 1)在我F_ListBox形式的列表框应填充在我的记录中的值。

我现在遇到一个运行时错误6014 RowSourceType属性必须设置为“值列表”来使用这种方法。

我究竟做错了什么?

Answer 1:

通常的方法设置在MS Access组合或列表框的行来源是使用SQL语句,但是,你也可以使用一个列表。 这是由行源类型来控制。

Me.MylistBox.RowSourceType = "Value List"

从你的笔记,似乎该行源的SQL语句会更容易:

Me.MylistBox.RowSource = "SELECT ID FROM MyTable"


文章来源: Ms Access AddItem with VBA