vb高手看过来,如何让vb combobox显示某数据表的所有字段名
我想让combobox的下拉列表中显示出某个数据表的所有字段名,省着自己手打了。我数据库都是用代码连接的,没有用data控件,谁知道应该怎么做,有没有sql语句能查出某表...
我想让combo box的下拉列表中显示出某个数据表的所有字段名,省着自己手打了。
我数据库都是用代码连接的,没有用data控件,谁知道应该怎么做,有没有sql语句能查出某表的所有字段名呢? 展开
我数据库都是用代码连接的,没有用data控件,谁知道应该怎么做,有没有sql语句能查出某表的所有字段名呢? 展开
3个回答
展开全部
'下列窗体加载事件过程可将表中的全部字段名添加到下拉列表框里。
'请将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
'请将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
展开全部
用代码实现吧?
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select name from syscolumns where id = object_id('表名') and objectproperty(id,'IsUserTable')=1
追问
syscolumns object_id objectproperty 都换成什么?
追答
这几个都不用换的,直接换掉 表名 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询