2012-09-04 83 views
1

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

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

我在做什么错?

回答

3

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

Me.MylistBox.RowSourceType = "Value List" 

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

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