|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
老师:我有个问题想请你指导:
Private Sub UserForm_Initialize()
pp = 15: mm = 5 'pp:多少列 mm:第几列为查找号
Dim SQL$, i&, j&, Arr, a()
With Sheets("数据库")
Arr = .Range("A2").CurrentRegion
ReDim a(UBound(Arr, 2) - 1)
For i = 0 To UBound(a)
a(i) = .Columns(i + 1).ColumnWidth * 7# 'ListView1各列列宽
Next
End With
Set cnn = New ADODB.Connection 'jet 4 8
cnn.Open "provider=microsoft.Ace.oledb.12.0;extended properties=excel 12.0;data source=" & ThisWorkbook.FullName
SQL = "select * from [数据库$] "
Set rs = New ADODB.Recordset
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
On Error Resume Next
With ListView1
'设置ListView1的标题、显示类型、整行选择和网格线属性
.ColumnHeaders.Clear
.View = lvwReport ' listivew的显示格式为报表格式
.FullRowSelect = True ' 允许整行选中
.Gridlines = True ' 显示网格线
'为ListView1设置标题
For i = 0 To pp - 1 'rs.Fields.Count - 1
.ColumnHeaders.Add , , rs.Fields(i).Name, a(i) ' a(i)
Next i
End With
Call 显示数据(SQL) '为ListView1设置各行数据
模糊查询.SetFocus
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) 'ListView1单击事件
Dim i&
TextBox1.Text = Item '首列数据赋给工号文本框
ary(0) = Item '姓名存放到数组作为删除记录的姓名查询条件
With ListView1
For i = 1 To pp - 1 '逐列数据写入文本框
Controls("TextBox" & i + 1) = .ListItems(Item.Index).SubItems(i)
Next i
ary(1) = .ListItems(Item.Index).SubItems(mm - 1) 'pp - 1) '“状态”存放到数组作为删除记录的工作单位查询条件
End With
End Sub
就是你从前写的通讯录,我在想在窗体上增加一个取数据的工作表,其名为:升级记录,当姓名相同时,在ListView2显示升级记录的数据,并且,可以重复的,有几个显示多少?谢谢了!!
|
|