2017-06-16 6 views
0

SQlサーバーからExcelにデータをコピーしようとしていますが、ヘッダーにインクルードされています。ヘッダーのない結果が欲しい。ここに私のコード:VBAヘッダーのないSQLテーブルをコピー

ConnectionString = "Provider=SQLOLEDB;SERVER=DWSQL\User;Database=User;Uid=User;Pwd=User;" 
If Sheets("Menu").Cells(4, 4) = "SC" Then 
    SQL = "SELECT * FROM [MVS].[dbo].[trpos_process] where fc = '2' and process = 'ASSEMBLY' and status = 'NEW'" 
ElseIf Sheets("Menu").Cells(4, 4) = "MC" Then 
    SQL = "SELECT * FROM [MVS].[dbo].[trpos_process] where fc = '3' and process = 'ASSEMBLY' and status = 'NEW'" 'and startby is Null" 
ElseIf Sheets("Menu").Cells(4, 4) = "EV" Then 
    SQL = "SELECT * FROM [MVS].[dbo].[trpos_process] where fc = '5' and process = 'ASSEMBLY' and status = 'NEW' and pos_no like 'EN5%'" 
End If 

Connection.Open ConnectionString 
rs.Open SQL, Connection, adOpenStatic, adLockReadOnly 

Set QT = ActiveSheet.QueryTables.Add(rs, Sheets("Data").Cells(1, 2)) 
QT.Refresh: rs.Close: QT.Delete: Connection.Close 

ありがとう。

+1

なぜ後にヘッダー行を削除しないだけですか?または、レコードセットの 'GetRows'プロパティを使用してください。 – Tom

+0

' ConnectionString = "Provider = SQLOLEDB; SERVER = DWSQL \ User;データベース=ユーザ; Uid =ユーザ; Pwd =ユーザ; HDR =いいえ" – UGP

+0

@UGP ... " SQLレコードセット内の "HDR"は変更を行いません。 – Falhuddin

答えて

0

CopyFromRecordsetを使用してください!

ConnectionString = "Provider=SQLOLEDB;SERVER=DWSQL\User;Database=User;Uid=User;Pwd=User;" 
If Sheets("Menu").Cells(4, 4) = "SC" Then 
    Sql = "SELECT * FROM [MVS].[dbo].[trpos_process] where fc = '2' and process = 'ASSEMBLY' and status = 'NEW'" 
ElseIf Sheets("Menu").Cells(4, 4) = "MC" Then 
    Sql = "SELECT * FROM [MVS].[dbo].[trpos_process] where fc = '3' and process = 'ASSEMBLY' and status = 'NEW'" 'and startby is Null" 
ElseIf Sheets("Menu").Cells(4, 4) = "EV" Then 
    Sql = "SELECT * FROM [MVS].[dbo].[trpos_process] where fc = '5' and process = 'ASSEMBLY' and status = 'NEW' and pos_no like 'EN5%'" 
End If 

Connection.Open ConnectionString 
rs.Open Sql, Connection, adOpenStatic, adLockReadOnly 

Range("b2").CopyFromRecordset rs 
    rs.Close: QT.Delete: Connection.Close 
+0

CopyFromRecordsetを使用しているときにエラーが発生しました(自動化エラー) – Falhuddin

関連する問題