代码之家  ›  专栏  ›  技术社区  ›  mactreb

错误3265-记录集中存在字段

  •  2
  • mactreb  · 技术社区  · 7 年前

    所有人,

    我试图填充activexlist视图,但得到了错误3265。

    Do Until rs.EOF
            Set lstItem = ctlListView.ListItems.Add()
            lstItem.text = rs!EntityID
            lstItem.subitems(1) = Nz(rs!Class, "")
            lstItem.subitems(2) = Nz(rs!Bundle, "")
            lstItem.subitems(3) = Nz(rs!Reference, "")
            lstItem.subitems(4) = Nz(rs!DisplayReference, "")
            lstItem.subitems(5) = Nz(rs!CalculatedReference, "")
            lstItem.subitems(6) = Nz(Format(rs!EntityDate, "d mmm yyyy"), "")
            lstItem.subitems(7) = Nz(Format(rs!EntityTime, "hh:mm am/pm"), "")
                lstItem.subitems(8) = Nz(rs!Description, "")
    [...]
    

    触发错误的记录集是:

    SELECT p_Primary_1.EntityID, p_Primary_1.Class, p_Primary_1.Reference, p_Primary_1.Bundle, p_Primary_1.EntityDate, p_Primary_1.EntityTime, p_Primary_1.Description, p_Primary_1.DisplayReference, p_Primary_1.CalculatedReference, p_Primary.EntityID 
    FROM p_Primary AS p_Primary_1 INNER JOIN (p_Primary INNER JOIN JunctionTable ON p_Primary.EntityID = JunctionTable.PK1) ON p_Primary_1.EntityID = JunctionTable.PK2 
    WHERE (((p_Primary.EntityID) = 46) AND ((JunctionTable.RelationshipType) = 'EXEX'));
    

    我在网上查到了错误

    lstItem.text = rs!EntityID
    

    你如何避免这个错误?(例如,是否可以简单地添加集合中的第一个对象(它将始终是“EntityID”)

    1 回复  |  直到 7 年前
        1
  •  2
  •   HansUp    7 年前

    以相反的顺序回答你的问题。。。

    是的,您可以通过记录集字段的(从零开始)索引引用该字段。所以第一个字段是 rs.Fields(0) rs(0)

    顺便说一句,你可以用 rs.Fields(0).Name

    你如何避免这个错误?

    如果你使用 Fields(0) ,您需要确保在 SELECT

    如果你真的需要两者 EntityID

    SELECT p_Primary_1.EntityID AS EntityID1, p_Primary.EntityID AS EntityID0
    

    否则,就 其中一个 实体标识符 领域。