如何根据列名得到他的列号
VBA 如何根据列名得到他的列号
例如:
A B C
姓名 班级 性别
我知道“班级”这个列名,得到它的列是B
[最优解释]
应该说你想通过列名找到其序号(index),你只要通过列名遍历表中字段名,找到匹配列的对应序号就可以了。至于你要怎么命名,具体处理一下就可以了。
下面以ADO为例,返回指定列名的序号(从1开始)
Function GetIndex(name As String)
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/work/db1.mdb"
Dim rs As New ADODB.Recordset
rs.Open "Student", conn
Dim i As Integer
For i = 1 To rs.Fields.Count
If (name = rs.Fields(i - 1).name) Then
GetIndex = i
GoTo CloseALL
End If
Next
CloseALL:
'- not found
If i > rs.Fields.Count Then
GetIndex = -1
End If
rs.Close
conn.Close
End Function
Sub Test()
Debug.Print GetIndex("姓名")
End Sub