vb高手看过来,如何让vb combobox显示某数据表的所有字段名

2025-05-01 13:55:17
推荐回答(3个)
回答1:

'下列窗体加载事件过程可将表中的全部字段名添加到下拉列表框里。
'请将tableName替换成实际表名
'请将连接字符串替换成实际连接字符串
'记得要引用ADO类库

Private Sub Form_Load()
Dim i As Integer
Dim cn As New ADODB.Connection
Dim cnStr As String
Dim rs As New ADODB.Recordset
Dim sqlStr As String
cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\MyAccess.mdb;Persist Security Info=False;"
cn.Open cnStr '打开连接
rs.CursorLocation = adUseClient
sqlStr = "select top 1 * from tableName" '打开数据表,只取一条记录,以节省系统开销
rs.Open sqlStr, cn
'循环将字段名写入下拉列表框
For i = 0 To rs.Fields.Count - 1
Combo4.AddItem rs.Fields(i).Name
Next i
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

回答2:

用代码实现吧?
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset

cnn.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;"
rst.Open "Select DISTINCT 职称 from 数据表", cnn, adOpenKeyset, adLockPessimistic

Combo1.Clear
rst.MoveFirst
Do While Not rst.EOF
Combo1.Additem rst.Fields("职称")
rst.MoveNext
Loop

回答3:

select name from syscolumns where id = object_id('表名') and objectproperty(id,'IsUserTable')=1