VBA ListView控件 - 从所选项目中检索列

时间:2018-01-12 21:52:55

标签: vba listview ms-access

我的Microsoft Access数据库中有一个ListView对象,该对象设置为报表视图。当用户从此列表中选择一行时,我希望能够打开辅助表单并根据所选值进行填充。我正在使用正确的语法来捕获我需要的列值。我一直在寻找关于此的信息,但是我找不到符合我特定标准的任何信息。

以下是相关代码:

class Animal:
    def __init__(self, name, species): 
        self.name = name
        self.species = species

    def getName(self):
        return self.name

    def getSpecies(self):
        return self.species

    def __del__(self):
        print ("This came from del method")

此代码不断在FormID = Item.SubItems(0)行上抛出异常,声明它是无效的属性值。

有人知道我在这里做错了什么,或者有一个解决方法来完成我想做的事情?

2 个答案:

答案 0 :(得分:0)

在您将FormID声明为变体的行FormID = Item.SubItems(0)中,您正在为其分配一个对象,因此VBA期望SET FormID = Item.SubItems(0)

但是你想要的可能是FormID = CInt(Item.SubItems(0).Text)

答案 1 :(得分:0)

我将事件从ItemClick更改为Click,并使用ListView1.SelectedItem.ListSubItems(1).Text来提取列值。

感谢大家的评论。