问题还是“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
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
或者,你引用的ListView版本不一致
查看 工程-->部件
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的第一个参数是不重复的整数,你的代码都一样,肯定报错
index可以省,listview自己加。
key是不可重复的,对,空值不算吧。