Access2003ランタイム環境でレポートを同時プレビューするには?


mar  2007-12-14 14:11:15  No: 99928  IP: 192.*.*.*

○環境
WindowsXP SP2
Access2003ランタイム
VB6 SP4

お世話になります。
上記環境で、report.mdb内の1つのレポートを、
選択した顧客別にプレビューさせる機能を作成しており、
ラインタイム環境ではCreateObject関数が使用出来ない為、
ShellでMSACCESS.EXEを起動後GetObject関数を使用することにより
実現出来ました。

しかし、選択された顧客が1つの場合は思った通りに表示されるのですが、
選択された顧客が複数ある場合、連続で同時にプレビューしようとすると、
MSACCESS.EXEのメインウィンドウは選択した顧客の数分開くものの、
肝心のレポートが先頭の顧客の分しか開きません。

色々調べた結果、http://support.microsoft.com/kb/288902/jaの中の、
>Microsoft Excel の複数のインスタンスが実行されている場合、
>GetObjectは最初に起動されたインスタンスに接続します。
というところに行き着ました。

やはり、ShellでMSACCESS.EXEを起動後GetObject関数を使用する方法では、
レポートを複数同時にプレビューさせることは不可能なのでしょうか?
GetObject関数に拘っているわけではないので、
併せて、代替案がありましたらご教授して頂ければ有りがたいです。

どうぞよろしくお願い致します。

編集 削除
mar  2007-12-14 15:17:18  No: 99929  IP: 192.*.*.*

環境について訂正します。
×VB6 SP4
○VB6 SP6
でした・・・

編集 削除
もげ  2007-12-14 16:36:24  No: 99930  IP: 192.*.*.*

'×ご教授
'○ご教示
1つのReportで複数顧客分出力するか、
コマンドラインで顧客名を指定し、
Command()で受け取ってReportを出すようにするとか。
http://office.microsoft.com/ja-jp/access/HP051883001041.aspx

私なら、
OLEオートメーションでAccessのReportを出すくらいなら、
ActiveReports
http://www.grapecity.com/japan/support/database/P1_142.htm
あたりを使うかと。

編集 削除
mar  2007-12-17 09:52:21  No: 99931  IP: 192.*.*.*

>もげ様
返信遅くなりまして申し訳ありません。
ご回答と日本語の訂正ありがとうございました。

>コマンドラインで顧客名を指定し、
>Command()で受け取ってReportを出すようにするとか。
という部分で確認ですが、これは、
「Shell(・・・・ /cmd 顧客情報)という風に実行し、
レポート側でCommand$()を使って顧客情報を受け取り、
レポートを複数同時プレビューする。」
でよろしいですか?

>OLEオートメーションでAccessのReportを出すくらいなら、
>ActiveReportsあたりを使うかと。

私もActiveReportsを検討したのですが、
元々Accessのレポートを使用していたアプリへの機能追加であるということと、
納期の問題でこのような作り方をしています。
それにしてももう少しランタイム環境での制約等考えなければいけませんでした・・・
これは今後に生かしたいと思います。

ありがとうございました。

編集 削除