lisvview怪问题!
rsTemp.Open s, cn, adOpenStatic, adLockReadOnly
i = 0
Me.ListView1.ListItems.Clear
Do While Not rsTemp.EOF
Set itmX = ListView1.ListItems.Add(, , Trim(CStr(rsTemp!dddh) + "")) //老是报类型不匹配错误?为什么
itmX.SubItems(1) = rsTemp!cpbh
itmX.SubItems(2) = rsTemp!lx
itmX.SubItems(3) = Format$(rsTemp!cdata, "yyyy/mm/dd")
itmX.SubItems(4) = CStr(rsTemp!sl)
If Not IsNull(rsTemp!sText) Then itmX.SubItems(5) = rsTemp!sText
loop
问题点数:100、回复次数:6Top
1 楼daisy8675(莫依 沉迷)回复于 2005-08-02 16:53:24 得分 80
Option Explicit
Public Rs As New ADODB.Recordset
Public Conn As New ADODB.Connection
Public Item As ListItem
Private Sub Form_Load()
Dim strConn As String
strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=LocalHost"
Conn.CursorLocation = adUseClient
Conn.Open strConn
With Me.ListView1
.View = lvwReport
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "aaa"
.ColumnHeaders.Add , , "bbb"
.ColumnHeaders.Add , , "ccc"
.ListItems.Clear
End With
If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "Select * from jobs", Conn, adOpenStatic, adLockOptimistic
Do While Not Rs.EOF
Set Item = Me.ListView1.ListItems.Add(, , Trim(Rs(0) & ""))
Item.SubItems(1) = Trim(Rs(1) & "")
Item.SubItems(2) = Trim(Rs(2) & "")
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End Sub
Top
2 楼daisy8675(莫依 沉迷)回复于 2005-08-02 16:54:20 得分 0
Trim(CStr(rsTemp!dddh) + "") //???这是个什么东西啊?LZ你的代码真的很乱....
给你个参考代码,参考上面啊
Top
3 楼mfkeeqnui_1(mfk_1_2)回复于 2005-08-02 17:09:25 得分 0
daisy8675(莫依) :
Do While Not rsTemp.EOF
Set itmX = ListView1.ListItems.Add(, , Trim(rsTemp(0) & "" )) //还是报类型不匹配错误?为什么
loop
那些我全部删除了也一样报这种错误一般是什么情况呢
Top
4 楼mfkeeqnui_1(mfk_1_2)回复于 2005-08-02 17:33:59 得分 0
那个listview在vb中有 6.0的和5.0的,用5.0没问题,6.0的就有 晕!Top
5 楼daisy8675(莫依 沉迷)回复于 2005-08-02 17:40:41 得分 0
你把你下面的语句加了没
下面的Item.SubItems(2) = Trim(Rs(2) & "")
或者看你的itmx声明有没有问题
我是使用VB6,要么就把你的VB6打上SP6补丁Top
6 楼leolan(史留香)回复于 2005-08-03 13:35:20 得分 20
這應該是同時引用了Microsoft Windows Common Controls 5.0 和 6.0 的原因,在listitem前加上類庫名就可以解決.
Dim itmX As MSComctlLib.ListItem '6.0
or
Dim itmX As ComctlLib.ListItem '5.0Top




