问题还是“Set itemReturn = frmWelcome.listvPRJ.ListItems.Add(1, , rs.Fields("prjDescription"))”执行后,出来类型不匹配,查了以前的帖是说版本问题,但是我不知道该怎么解决这个版本问题?我用的vb6。谢谢Public Sub UpdateListView()
On Error GoTo dbFailure
    Dim rs As ADODB.Recordset
        
    Dim itemReturn As ListItem
    
    Set rs = New ADODB.Recordset
    rs.CursorType = adOpenStatic
    rs.LockType = adLockOptimistic
    rs.Open "select prjSubscriberDatabase,prjDate,prjDescription from information order by prjDate", cnnBasicInfo
            
    Do While (Not rs.EOF)
   
       
       Set itemReturn = frmWelcome.listvPRJ.ListItems.Add(, , rs.Fields("prjDescription"))  ‘这行有问题        itemReturn.SubItems(1) = rs.Fields("prjDate")
        itemReturn.SubItems(2) = rs.Fields("prjSubscriberDatabase")
        rs.MoveNext
    Loop
        
    rs.Close
        
    Exit Sub

解决方案 »

  1.   

    如果代码是你自己写,就不存在版本问题;除非用了别人写的DLL或者什么组件,而他的这些玩意里面用到的ListView版本跟你的不同;
    或者,你引用的ListView版本不一致
    查看 工程-->部件
      

  2.   

    代码是自己写的啊,可是就是不行。 引用的ListView版本不一致??这个怎么解决
      

  3.   

    示例:
    listview1.ListItems.Clear
    While Not rs.EOF
       listview1.ListItems.Add , "W" & intI, CStr(intI + 1) 
       listview1.ListItems(intI + 1).ListSubItems.Add , "SN" & intI, rs.Fields("prjDate")  
       listview1.ListItems(intI + 1).ListSubItems.Add , "Name" & intI, rs.Fields("prjSubscriberDatabase")  
       intI = intI + 1
       rs.MoveNext
    Wend照着上面的改,另外下面这行有什么用?
    Set itemReturn = frmWelcome.listvPRJ.ListItems.Add(, , rs.Fields("prjDescription"))  ‘这行有问题 
    listview1.ListItems的第一个参数是不重复的整数,你的代码都一样,肯定报错
      

  4.   

    ListItems.Add index,key,text, index/key是optional是吗?
    index可以省,listview自己加。
    key是不可重复的,对,空值不算吧。
      

  5.   

    你的rs.()的值为NULL时才会出现这个提示