- - PR -
VB.NET→ACCESS連携
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-22 23:02
VB.NETからACCESSのレポートやマクロを呼び出したいのですが
うまくいきません。 (実行するOFFICEの環境ですが、ACCESSのランタイムが入っています) ランタイムしか入ってない環境だとCreateObjectが使えないと Webで書いてあったのでGetObjectを使おうと思いましたがエラーとなります。 Shell関数もうまくいきません。 ★とりあえずですが、VBからACCESSのレポートやマクロを 呼び出す一般的な方法を教えてください。泣 出来れば引数の指定があるサンプルコードがあると助かります・・・ 質問の内容が中学生レベルで大変申し訳ございません! | ||||||||
|
投稿日時: 2004-04-23 09:34
過去の投稿より、ご自分の立てたスレッドしかチェックしていないと判断します。 これですが、「うまくいかない」とは、どのような状態なのでしょう?これだけだと、
と、いくつもパターンがあります。これを書いておいてくだされば、私のこの投稿は、誰かの「回答」になって、問題が解決できたかもしれない。つまり自分および他人の時間と労力を節約できたと思うのですが、いかがでしょうか? #ということを、他のスレッドでも書いているのですよ(^o^;
同じく、どこのページに、どのように書いてあったのでしょう?これだと「使えない」前提条件がわかりませんよね。Access起動の質問は他にもあるので、たとえば上の「スレッドディレクトリ」から「Office→Access」と進めば、40の他の質問があるわけですが、その辺はチェックされていますか? 質問の仕方は、上司への報告に通じるものがあると考えます。自分の持っている情報をいかにうまく他人に伝えるか、もう少し考えてみてください。 | ||||||||
|
投稿日時: 2004-04-23 13:44
お手数をかけますJittaさん
「@IT 会議室」の"検索"機能は活用してますよ! 他にもご指摘がいっぱいあったのですが、まずは質問をし直してみますね。 【問題】 ACCESSランタイムしか入っていない環境で、VBアプリケーションから ACCESSのレポートやマクロを呼び出したいがうまくいきません。 ●本当は以下の処理が行いたいと思います。 objTEST = CreateObject("Access.Application") 'データベースのオープンとファイルパスの指定 objTEST.OpenCurrentDatabase(filepath:=Application.StartupPath & "\rpt得意先.mdb", Exclusive:=True) 'プレビューの表示 ※Viewの数字:0=印刷、1:デザイン、2:プレビュー objTEST.DoCmd.OpenReport(RePortName:="R_得意先", View:=TextBox1.Text) しかし、ランタイムしか入ってない環境では CreateObject を実行しただけで 「Cannot create ActiveX component.」というエラーになります。 ●しょうがないので Shell 関数で呼び出そうと思いましたが、 Shell関数実行時に画面の真中にACCESS起動の小さい画面(?)も登場してしまいます・・・ この小さい画面が表示されなければ Shell 関数でもOKなのですが。 Shell("E:\Access Runtime\Office10\MSACCESS.EXE " & "E:\TEST\rpt得意先.mdb " _ & "/x TEST_Report_01" _ , AppWinStyle.NormalFocus, True, -1) 【本題】 ACCESS起動時の小さい画面を表示させずに、なにごともなく印刷処理などが 出来ないでしょうか? (最初に質問した内容とほとんど違う内容になってますが・・・泣) Jittaさん > 少しは良くなったでしょうか??? それと参考にしていたページについて指摘されましたが、 (> どこのページに、どのように書いてあったのでしょう?) 下記のページにてAccessランタイムとCreateObjectについて 書かれていました。 http://www.naboki.net/access/heaven/heaven_01.html > 質問の仕方は、上司への報告に通じるものがあると考えます。自分の持っている情報をいかにうまく他人に伝えるか、もう少し考えてみてください。 伝え方については勉強していきたいと思いますので、 今後も宜しくお願い致します。 | ||||||||
|
投稿日時: 2004-04-23 15:52
サポート技術情報を、Accessカテゴリから、[geetobject]をキーワードに検索
http://support.microsoft.com/default.aspx?scid=kb;ja;238610&Product=accJPN http://support.microsoft.com/default.aspx?scid=kb;ja;288902&Product=accJPN http://support.microsoft.com/default.aspx?scid=kb;JA;147816&Product=accJPN http://support.microsoft.com/default.aspx?scid=kb;JA;210111&Product=accJPN http://support.microsoft.com/default.aspx?scid=kb;ja;317113&Product=accJPN http://support.microsoft.com/default.aspx?scid=kb;JA;210132&Product=accJPN http://support.microsoft.com/default.aspx?scid=kb;ja;317114&Product=accJPN C#やVB.NET、VB6.0、の情報が入り交じっていますが、こんなところで解決しませんか? | ||||||||
|
投稿日時: 2004-05-10 18:17
ご返答がありました、リンクの情報なども確認して
いろいろと試してみましたが最終的に以下の形にしました。 @VB :処理判別情報をmdbのテーブルに書き込み AVB :Shell関数にて「@」のmdb呼出し BACCESS :AutoExec にて「@」の情報読み取り CACCESS :「B」の情報を元にレポートやプレビューの実行 なんともしょぼい感じでありますが、 今回は上記にて対応することとなりました・・・ Jittaさん返答が遅れ過ぎて大変申し訳ございませんでした! |
1