- 締切済み
Excel の結果を Access へ移行したい
Access および Excel 共に2003を使っています。 Access側からExcelを呼び出して、Excel にAccess のデータ(数字)を書き込みます。 Excel側で計算処理をして、「戻る」のボタン(別途作成)を押せば その計算結果を元のAccess のテキストボックスに書き込みたいと思います。 Access側からExcelへは問題なくデータ表示ができ、計算処理もできるのですが、 Access側に計算結果の移行ができません。 どうしたらよいか教えていただけませんか。 ちなみにAccess から Excel の移動は次のようにやっています。 strfile = CurrentProject.Path & "\○○.xls" Set Appexcel = New Excel.Application Set wb = Appexcel.Workbooks.Open(strfile) Appexcel.Visible = True
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- gadd3
- ベストアンサー率46% (211/451)
>「戻る」のボタン が、Excel上にあるなら、例えば以下のような感じで Excel側からAccessのテキストボックスを参照できます。 「Excel連携.mdb」というmdbファイルをCドライブの ルートにおきます。 その中に「f1」というフォームを作り、「テキスト0」という テキストボックスを作ります。 「f1」というフォームをExcel側から開き「テキスト0」という テキストボックスをイミディエイトで参照するコードです。 Dim strDBPath As String strDBPath = "c:\Excel連携.mdb" Set acApp = New Access.Application acApp.Visible = True acApp.OpenCurrentDatabase strDBPath acApp.DoCmd.OpenForm "f1" Debug.Print acApp.Name Debug.Print acApp.Forms("f1")("テキスト0") ※ acApp.Forms("f1")("テキスト0")=”何らかの値” とやれば、Excel側からAccess側に値を書きこめます。 ただ、Nothingを忘れないようにどこかで行なう必要があります。
- lv4u
- ベストアンサー率27% (1862/6715)
>>Excel の結果を Access へ移行したい Excelはデータの自由度が多く、使いやすいですが、その編集・計算結果をどのテーブルにもどすか?どのカラムを戻すか?追加や削除の行があるときどうする?など、使う側の処理内容はイロイロあって、コマンド1発で手軽に指定できるものではありません。 なので、Excel側の結果を適切なテーブルに取り込んで、それをトランザクションデータとして、AccessVBAのプログラムで目的のテーブルのデータを更新するってことになるのではないでしょうか? ちなみに、わたしも将来的には、Excelに渡したデータをAccessに戻すプログラムを作成する予定ですが、現在は、とりあえずAccessのデータをテキスト出力し、それをPerlで処理して、罫線や計算式の入ったExcelファイルを作成するプログラムを作っている途中です。