- ベストアンサー
vbでのインポートエクスポート
初めて質問します。 vb6を使ってボタンを押したならばマイドキュメントに保存されているexcel2000(例えばbk1.xls)のsheet1を同じくマイドキュメントに存在するaccess2000(例えば、db1.mdb)のテーブルにインサートしたいのです。 とくにexcelのデータ範囲を指定しないでもsheet1に作ったリストをaccessにエクスポートすることは可能でしょうか? どなたかご教授下さい。 pcはwindowsxpを使っています。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
先ほどの内容に一部誤りがありましたので、訂正します。 Private Sub Command1_Click Dim db As DAO.Database Dim strSQL As String strSQL = "INSERT INTO" strSQL = strSQL & " TableName (" strSQL = strSQL & " Column1," strSQL = strSQL & " Column2," strSQL = strSQL & " Column3," : (中略) : strSQL = strSQL & " ColumnN" strSQL = strSQL & " )" strSQL = strSQL & " SELECT" strSQL = strSQL & " Column1," strSQL = strSQL & " Column2," strSQL = strSQL & " Column3," : (中略) : strSQL = strSQL & " ColumnN" strSQL = strSQL & " FROM" strSQL = strSQL & " [EXCEL 8.0;DATABASE=" strSQL = strSQL & "DriveName:\FolderName....\FileName] strSQL = strSQL & ".[WorkSheetName]" strSQL = strSQL & " WHERE ...." strSQL = strSQL & " ORDER BY ...." Set db = DbEngine.OpenDatabase("DriveName:\FolderName....\DatabaseName") db.Execute strSQL db.Close Set db = Nothing End Sub # それにしても、タグが使えない掲示板は使いにくい・・・。(-_-;
その他の回答 (1)
可能です。 一例ですが、DAOなら下記のような要領のSQL文でできます。 (ADOの場合もほとんどおなじ要領です) ※ 掲示板の制約上、ヘンなところで改行が入ってますが、適切に読み替えてください。(汗 Private Sub Command1_Click Dim db As DAO.Database Dim strSQL As String strSQL = "INSERT INTO" strSQL = strSQL & " TableName (" strSQL = strSQL & " Column1," strSQL = strSQL & " Column2," strSQL = strSQL & " Column3," (中略) strSQL = strSQL & " ColumnN" strSQL = strSQL & " FROM" strSQL = strSQL & " [EXCEL 8.0;DATABASE=" strSQL = strSQL & "DriveName:\FolderName....\FileName] strSQL = strSQL & ".[WorkSheetName]" strSQL = strSQL & " WHERE ...." strSQL = strSQL & " ORDER BY ...." Set db = DbEngine.OpenDatabase("DriveName:\FolderName....\DatabaseName") db.Execute strSQL db.Close Set db = Nothing End Sub
お礼
すばやく、しかもとても丁寧にコードまで教えていただきありがとうございます。こんなに早くに回答していただけるとはおもいませんでした。まったくの素人なのでwebなどのサンプルを参考にしているのですが、始まりから終わりまで書いていただき悩まずにコードを確認させていただきました。ほんとうにありがとうございます。