Private Sub Command1_Click()
On Error GoTo HH
Dim strCnn As String
strsql = Trim(Text1.Text)
If strsql = "" Then
'MsgBox "请选择用户代号", 48, "提示"
'Text1.SetFocus
'Exit Sub
End If
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = "Driver={SQL Server};Server=102.0.28.211;DataBase=ddd2;UID=ddd2318;PWD=23703"
.CursorLocation = adUseClient 
.CursorType = adOpenStatic 
.LockType = adLockBatchOptimistic 
.Source = "Select id2 as 序,namecode as 用户代号,name as 姓名 from jmsqxb where namecode like '" & strsql & "' "
.Open
End With
If rs.EOF Or rs.BOF Then
Command3.Enabled = False
Command4.Enabled = False
MsgBox "没有找到记录", 48, "提示"
Exit Sub
Else
Command3.Enabled = True
Command4.Enabled = TrueListView1.ListItems.Clear '清空以前的数据,如果是第一次,可以不要
Do While rs.EOF <> True
ListView1.ListItems.Add , , rs!id2
ListView1.ListItems.Add , , rs!namecode
ListView1.ListItems.Add , , rs!name
rs.MoveNext
Loop
rs.CloseEnd If
HH:
If Err.Number <> 0 Then
If Err.Number = -2147467259 Then
MsgBox "网络不通或服务器未开启!!", 48, "提示"
Exit Sub
Else
MsgBox "对不起!连接服务器有误", 48, "提示"
Exit Sub
End If
End If
End Sub

解决方案 »

  1.   

    当然没有了,你的查询语句“Select id2 as 序,namecode as 用户代号,name as 姓名 from jmsqxb where namecode like '" & strsql & "' "”已经把 id2指定为"序"、把namecode指定为"用户代号"所以你只要把ListView1.ListItems.Add , , rs!ide2改成ListView1.ListItems.Add , , rs!序,依此类推。不过我不赞成这样,应该是rs.fields(0)好点
      

  2.   

    谢谢,我再问一下,为何查出来的值在listview中乱摆的呢?没有表格线!
      

  3.   

    listview控件就有属性设置,看你的需要选择属性值
    乱摆是不是你view属性选3-lvwReport,或者试试别的方式
    表格属性Gridline打勾
      

  4.   

    看来你也会这个控件很陌生哦,我也是昨天刚学的,以下代码给你参考:
    Private Sub Form_Load()
        Dim list1 As ListItem
        lvw1.ColumnHeaders.Add 1, , "name", lvw1.Width / 3
        lvw1.ColumnHeaders.Add 2, , "sex", lvw1.Width / 3   ', lvwColumnCenter
        lvw1.ColumnHeaders.Add 3, , "age", lvw1.Width / 3
        lvw1.View = lvwReport
        Set list1 = lvw1.ListItems.Add(1, , "jone")
        list1.SubItems(1) = "male"
        list1.SubItems(2) = "22"
        lvw1.ListItems.Add 2, , "joe"
        lvw1.ListItems(2).SubItems(1) = "remale"
        lvw1.ListItems(2).SubItems(2) = "33"
        lvw1.GridLines = True
        lvw1.Sorted = True
        lvw1.ColumnHeaders.Item(1).Width = 2000
    '    lvw1.ListItems.Remove 1
    '    lvw1.ListItems.Clear
    End Sub