2012-10-01 90 views
2

我试图复制listbox到另一个列表框复制到另一个

所以我清除目标listbox所有项目这样

While Forms!SalesCallInformation!lstMills.ListCount > 0 
     Forms!SalesCallInformation!lstMills.RemoveItem (0) 
    Wend 

然后我复制的所有项目这样

For i = 0 To lstMillsToAdd.ListCount - 1 
     Forms!SalesCallInformation!lstMills.AddItem (lstMillsToAdd.Column(0, i) & ";" & lstMillsToAdd.Column(1, i) & ";" & lstMillsToAdd.Column(2, i)) 
    Next 

问题是,在目的地listbox,我仍然有旧的项目。 但是当我在Forms!SalesCallInformation!lstMills.ListCount上设置手表时,我可以看到它正在递减,所以它必须删除一些东西。

这是什么刷新表单?原因我在插入新项目后尝试这样做:Forms!SalesCallInformation.Refresh但我有相同的结果。

有没有人有想法?

谢谢

此外,rowSourceType设置为value list

+0

为什么你不想只将行源从一个复制到另一个? – Fionnuala

+0

好吧,当我想要删除的时候,我尝试过'Forms!SalesCallInformation!lstMills.RowSource =“”',它没有工作,所以我认为这是不可能的。我现在要试试 – Marc

+0

@Remou我得到​​了同样的结果,即所有的旧数据和新的数据。所以我会按照你的方式去做,但是我仍然需要修复这个问题 – Marc

回答

4

这个例子对我的作品:

Private Sub Button1_Click() 
Me.List2.RowSource = Me.List0.RowSource 
End Sub 

Private Sub Button2_Click() 
Me.List2.RowSource = "" 
End Sub 

两个ListBox都值列表。行来源设置为“abc”;“def”;“ghi”

+0

谢谢!你让我意识到我的保存按钮是好的,所以我发现在关闭按钮中我有一个form.requery。我同时也像你一样清理我的代码。 – Marc

+0

我很高兴你发现了这个问题。 – Fionnuala

相关问题