• ベストアンサー

vbでのインポートエクスポート

初めて質問します。 vb6を使ってボタンを押したならばマイドキュメントに保存されているexcel2000(例えばbk1.xls)のsheet1を同じくマイドキュメントに存在するaccess2000(例えば、db1.mdb)のテーブルにインサートしたいのです。 とくにexcelのデータ範囲を指定しないでもsheet1に作ったリストをaccessにエクスポートすることは可能でしょうか? どなたかご教授下さい。 pcはwindowsxpを使っています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#4564
noname#4564
回答No.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 # それにしても、タグが使えない掲示板は使いにくい・・・。(-_-;  

haru_12345
質問者

お礼

すばやく、しかもとても丁寧にコードまで教えていただきありがとうございます。こんなに早くに回答していただけるとはおもいませんでした。まったくの素人なのでwebなどのサンプルを参考にしているのですが、始まりから終わりまで書いていただき悩まずにコードを確認させていただきました。ほんとうにありがとうございます。

その他の回答 (1)

noname#4564
noname#4564
回答No.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  

関連するQ&A