2

我有一个表格,上面有一个按钮。该按钮基本上将记录从一个表复制到另一个。在读取和复制记录时,还会检查特定值。例如,如果表中的某个字段的值为“”,那么它应该调用另一个允许我输入日期的表单。输入日期并关闭表格后,程序将继续进行复制。也可能发生正在复制的表中的关键字段是重复的。在这种情况下,我应该启动一个“列表框表单”,其中包含一个显示重复记录值的列表框。然后我应该选择我需要复制的正确记录。

 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 属性设置为“值列表”才能使用此方法。

我究竟做错了什么?

4

1 回答 1

4

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

Me.MylistBox.RowSourceType = "Value List"

从您的笔记来看,行源的 SQL 语句似乎更容易:

Me.MylistBox.RowSource = "SELECT ID FROM MyTable"
于 2012-09-04T11:13:16.740 回答