你好
我試圖通過命令來新列添加到Excel工作表添加列在Excel工作表來與OLEDB
ALTER TABLE [MyTable的] ADD COLUMN Field_dest nvarchar的
但在執行命令得到了異常「無效操作」 我在最後嘗試表名與不$,但得到了同樣的結果
我的問題是
1)是否有一些錯誤在上面的命令?
2)是否支持excel表的命令ALTER表?
3)是否將列添加到Excel工作表的替代方法 - 最好通過OLEDB?
在此先感謝
你好
我試圖通過命令來新列添加到Excel工作表添加列在Excel工作表來與OLEDB
ALTER TABLE [MyTable的] ADD COLUMN Field_dest nvarchar的
但在執行命令得到了異常「無效操作」 我在最後嘗試表名與不$,但得到了同樣的結果
我的問題是
1)是否有一些錯誤在上面的命令?
2)是否支持excel表的命令ALTER表?
3)是否將列添加到Excel工作表的替代方法 - 最好通過OLEDB?
在此先感謝
修改表將無法正常工作,據我所知,但是,您可以創建表格或選擇進入,這將允許您創建一個新的工作表。我無法得到這個打開表單運行。
Dim cn As Object
Dim scn As String
Dim sSQL As String
strFile = "C:\Docs\test.xls"
scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
strFile & ";Extended Properties=""Excel 8.0;HDR=Yes;"""
Set cn = CreateObject("ADODB.Connection")
cn.Open scn
''Note that there is no $ on the sheet to be created
sSQL = "SELECT *,'' As NewField INTO [Sheet17] FROM [Sheet4$]"
''Jet data types
sSQL = "CREATE TABLE [Sheet8] (AText text, ANother text)"
cn.Execute sSQL
如果您針對打開的文件運行,則會出現Sheetn不存在的錯誤。
您可以使用Create Table而不是Alter Table。 只需使用現有的表名,那麼你的列添加到現有薄片
CREATE TABLE [ExistingSheet$] (ID char(255), oldField1 char(255), newField2 char(255))
它的工作!
謝謝!但它不適用於現有的表:( – 2011-03-11 13:32:03
@lm我想我沒有解釋,你不能添加到現有的表,但你可以複製現有的表與一個新的列到一個新的表,'SELECT *,''作爲NewField INTO [Sheet17] FROM [Sheet4 $]'其中Sheet4 $是現有表,*是所有列,''由於NewField是一個額外的列,Sheet17是新表,或者,您可以創建一個新表CREATE TABLE並用現有的數據更新它 – Fionnuala 2011-03-11 14:00:23
我明白了,我將檢查使用SELECT ..INTO(正如你所解釋的)或其他來創建更新結構的表格的選項,謝謝了很多有用的信息 – 2011-03-11 18:53:07