日期:2014-05-16  浏览次数:21814 次

如何写一条sql语句,查询除某一列以外的其他所有列
一张表,有若干字段,除了一个字段外,不知道其他的任何字段的名称,如何写一个sql语句可以查询除了这一个字段外的所有字段。。。??谢谢~~~想了老半天也没想出一个办法来。。。

比如,一张表中有A,B,C,D,E,F,G七个字段,
我想查询除G以外的所有字段,我当然应该写select   A,B,C,D,E,F   from   ***
可是我并不知道A,B,C,D,E,F的字段名,仅仅知道G的字段名,那么如何写一个sql语句,达到和select   A,B,C,D,E,F   from   ***功能一样的效果??
谢谢各位高手了~~~


------解决方案--------------------

'可以只用SQL语句获取表名,如下:

'--列出所有的用户表

'SELECT *
'FROM MSysObjects
'WHERE Flags=0 AND Type=1


'但只用SQL语句无法获取表的字段名。


'--下面代码列出指定表的所有字段名和文本类型字段的长度

'引用ADOX
'--> VBA窗口“工具”菜单
'--> 引用
'--> Microsoft ADO Ext. 2.X for DLL and Security

Public Sub list()
Dim Cnn As New ADODB.Connection
Dim Fld As New ADOX.Column
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table

Dim strTblName As String

strTblName = "表名 "

Set Cnn = CurrentProject.Connection

Set Cat.ActiveConnection = Cnn
Set Tbl.ParentCatalog = Cat
Set Tbl = Cat.Tables(strTblName)

Debug.Print "字段个数: " & Tbl.Columns.Count

For Each Fld In Tbl.Columns
Debug.Print "字段名: " & Fld.Name
Next

End Sub







------解决方案--------------------
用VBA得到所有列名,用循环生成SQL语句