VB2008からACCESSのレポートを起動する方法は?
- VB2008の環境からACCESSのレポートを起動させる方法を教えてください。
- VB2008/ACCESS2000の環境で、ACCESSのレポートを起動するための記述内容はどのようなものですか?
- VB2008でACCESSのレポートを起動するための正しい記述方法を教えてください。
- ベストアンサー
ACCESSレポートの起動のさせて方に関して
VB2008の環境からACCESSのレポートを起動させたいと考えて います。 いろいろ検索しました結果、以下のような記述をしてみましたが、正しく起動 してくれません。。。 どのように記述するのが正しいのでしょうか??? 教えて下さい。 環境 : VB2008/ACCESS2000 《記述内容》 ※ Microsoft Access 9.0 Object Libraryを追加 Dim accApp As Access.Application 'Access の新しいインスタンスを作成 accApp = CreateObject("Access.Application") 'データベースを Access ウィンドウで開く accApp.OpenCurrentDatabase("c:\sample1.mdb") '印刷 accApp.DoCmd.OpenReport("R_sanple") '現在開いているデータベースを閉じる accApp.CloseCurrentDatabase() 'インスタンス破棄 accApp = Nothing
- yurix_1
- お礼率38% (44/114)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 以下のような記述をしてみましたが、正しく起動してくれません。。。 「どの行で、どのようなエラーが出たか」は書いてくださいね。 たぶん 'Access の新しいインスタンスを作成 accApp = CreateObject("Access.Application") <--ここの行? だったら set accApp = CreateObject("Access.Application") としてください。 同様に 'インスタンス破棄 accApp = Nothing も set accApp = Nothing と思います。
関連するQ&A
- VB6からアクセスのレポートをプレビューするには?
おはようございます。またまた躓いたのでお助け下さい<(_ _)>VB6で、アクセス2000にパーツ名を読み書きしています。アクセスの方でレポートを作ってあるのですが、印刷はいけそうなのですが、これを印刷前にプレビューしたいのですが、 Set accApp = CreateObject("Access.Application") accApp.OpenCurrentDatabase "C:\part-name.mdb" accApp.DoCmd.OpenReport "パーツ情報", acViewNormal 印刷について参考にさせていただいたソースです。DoCmd.OpenReport が印刷ですよね?ここを変更するのでしょうか?よろしくお願いします<(_ _)>
- ベストアンサー
- Visual Basic
- VBからのACCESSの起動に関して
開発環境:Visual Basic 2008/ACCESS 2000 VB2008よりACCESSを更新したり、ACCESSのレポートを使用したりする プログラムを作成しています。 その際に、1つのACCESSに複数のレポートを作成している事から、複数のプログラム からACCESSを起動させようとするとエラーとなってしまいます。 ACCESSをそれぞれ分けてしまえば問題ないですが、、、、 そもそも1つのACCESSファイルを複数からアクセス(複数のVBプログラム)するという事が 不可能なのでしょうか? あるいは、下記の記述にあるように、データベースを開こうとするかエラーである為、 開いているか確認の記述をし、既に開いているようだったら、その処理をとばすような事 をすれば問題ないのでしょうか??? 教えて頂きたいと思います。 よろしくお願いします。 《記述内容》 Dim ac As Object ac = CreateObject("Access.Application") With ac 'アプリケーションを表示する ac.Visible = True 'データベースを開く ac.OpenCurrentDatabase("C:\sample.mdb") '名前を指定してレポートを開く ac.DoCmd.OpenReport("R_一覧表", 2) 'acViewPreview 'レポートの最大化 .DoCmd.Maximize() 'オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(ac) End With ac = Nothing
- ベストアンサー
- Visual Basic
- Accessのフォームだけを表示するには?
Accessのフォームを使って処理を行う時に、Access自身のバックグラウンドを表示しないでフォームのみ表示して処理するというようなことはできるのでしょか? たとえば、Accessのインスタンスは非表示にしてフォームだけみえるようにする。 WSHで Set accApp = CreateObject("Access.Application") accApp.Visible = False accApp.OpenCurrentDatabase "C:\業務01.mdb" accApp.DoCmd.OpenForm "F010_情報表示フォーム", , , , acFormReadOnly accApp.Forms.[F010_010_情報表示].Visible = true などとして[F010_010_情報表示]フォームのみを表示するなどということはできるのでしょか? 実際これでは、何も表示されません。
- 締切済み
- その他(ITシステム運用・管理)
- access全画面表示されない
VBからacesssを開くと全画面表示されません。 しかし、フォルダをダブルクリックして開いたり、 空のaccessアプリケーションを立ち上げて、「ファイルを開く」で開くと、全画面表示されます。 【VB】-------------------------------------------- Sub AccOpen() Dim AccApp As Access.Application Dim MyPath As String MyPath = "○○.accdb" AccApp = CreateObject("Access.Application") AccApp.OpenCurrentDatabase(MyPath) AccApp.Visible = True AccApp.UserControl = True End Sub -------------------------------------------------- 【access】---------------------------------------- Private Sub Form_Load() DoCmd.RunCommand acCmdAppMaximize 'アプリケーションのサイズを最大化する Vbから開くと最大化されない。 End Sub -------------------------------------------------- としています。 アクセス2007、VB2010です。 VBからだと DoCmd.RunCommand acCmdAppMaximizeが無視される理由を教えてください。
- ベストアンサー
- Visual Basic
- VB2005を用いてのレポート作成
いつも見て参考にさせて頂いています。 XPを使用し新しくVB2005を最近使い始めた初心者ですが、いきなりつまずいてしまいました。といいますのも、Access2003で作成したレポートを印刷することはできたのですが、印刷レビューの作成方法がわかりません。 Dim objAccess As Object If MessageBox.Show("印刷します。よろしいですか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.OK Then Try objAccess = CreateObject("Access.Application") With objAccess .OpenCurrentDatabase("\\172.30.100.45\技術部個人\加藤\VEManager.mdb") .DoCmd.OpenReport("Publishers") .closeCurrentDatabase() .Quit() End With Catch ex As Exception MessageBox.Show("EXP.Message") Finally objAccess = Nothing GC.Collect() GC.WaitForPendingFinalizers() End Try End If 上記の方法で実際に印刷はできました。自分なりに調べた結果、 .DoCmd.OpenReport("Publishers") の箇所を変更すると印刷プレビューを表示できるようなのですが・・・僕にはわかりませんでした。 返事が遅れるかもしれませんが、わかる方がいればご教授の程よろしくおねがいします。
- 締切済み
- Visual Basic
- VBからACCESSのレポートをプレビューで表示
お世話になっております。 VBからのMDBの帳票印刷の事で悩んでおります。 データベースとしてMDBを使用しているので、MDBのレポートのプレビュー を表示しようとしました所、下記のコードで実現することができました。 Dim oleAccess As Access.Application Set oleAccess = GetObject(App.Path & "\data.mdb") Call oleAccess.DoCmd.OpenReport(ReportName, acPreview) oleAccess.DoCmd.Maximize oleAccess.Visible = True 開発環境では問題なくプレビューの表示ができたのですが、 このプログラムを、ACCESSの入っていない環境で、ACCESSランタイムをインストール して実行すると、印刷時に「エラー429 ActiveXコンポーネントはオブジェクトを作成 できません」とのエラーが出て、印刷だけができません(その他の動作は正常です)。 エラー内容から、ACCESSオブジェクトの作成に失敗していると思うのですが、 Access.Application型を使わずに、ACCESSのプレビュー・印刷をする方法は無いのでし ょうか?(たとえば、DAO.DataBase型でMDBを開いて印刷する方法など・・・) 以前にも同じような質問をさせて頂いたのですが、私の力不足のため、再度ご質問させて頂きます。 どんな事でもいいので、アドバイスを頂ければ幸いです。 よろしくお願い致します。
- ベストアンサー
- Visual Basic
- VBからACCESSのレポート出力
すみません。どうしてもわからないので、質問させて頂きます。 VB6.0 + ACCESS2000 で開発をしています。 インターフェイスはVB,DBはACCESSなのですが、帳票の出力も、 ACCESSで行いたいと思っております。 この時、クライアントにACCEESSが入っていない事も想定して、 ACCESSランタイムも用意しました。 デバッグマシン(OFFICEは入っていません)にランタイム(VB,ACCESS)を インストールして、実行ファイルを実行すると、印刷の部分で、「エラー429 Activeコンポーネントはオブジェクトを作成できません」とのエラーが出て、印刷ができません。 印刷以外は問題なく動いています。 開発マシンは、Win2000、デバッグマシンはWinXPで、ACCESSランタイムはOFFICE XP Developerで作成しました。 下記にソースコードも記載させて頂きます。 もちろん、開発ではきちんと動作しています。 Dim oleAccess As Access.Application Set oleAccess = GetObject(App.Path & "\data\data.mdb") Call oleAccess.DoCmd.OpenReport(ReportName, acPreview) oleAccess.DoCmd.Maximize oleAccess.Visible = True 当初は、「oleAccess.OpenCurrentDatabase」でDBを開いていたのですが、 ACCESSランタイム環境では、GetObjectの方が良いということを聞いたので、 上記の様になっています。 エラーが起きている行は、どうやら「GetObject」の行のようです(oleAccess.OpenCurrentDatabaseの場合でもエラー)。 ACCESSランタイムを使う事が初めてなので、手探りでやっているため、 的外れな所もあるかと思います。 何かアドバイスを頂ければ幸いでございます。 よろしくお願い致します。
- 締切済み
- Visual Basic
- アクセスのセキュリティの警告の非表示
現在、VBSでアクセスのマクロを起動させているのですが、 起動時にセキュリティの警告を聞いてこないようにしたいのですが、 なにか方法はあるのでしょうか? ちなみに現在のプログラムは '' データベース名・・・db.mdb(デスクトップにある場合) マクロ名・・・macro Dim AcApp Set AcApp = CreateObject("Access.Application") AcApp.visible = true AcApp.OpenCurrentDatabase "C:\Documents and Settings\×××\デスクトップ\db.mdb" AcApp.DoCmd.RunMacro "macro" AcApp.CloseCurrentDatabase AcApp.Quit Set AcApp = Nothing です。 よろしくお願い致します。
- ベストアンサー
- Visual Basic
- VBからACCESSのレポートを印刷で範囲指定
oleAccess.DoCmd.OpenReport ReportName, acNormal oleAccess.CloseCurrentDatabase 今、上のソースでは、データベース全件、印刷されるので、範囲指定をしたいのですが、どうすればいいですか? お願いします。
- ベストアンサー
- Visual Basic
- 「accessがもし開いてるなら開かない」とするに
「accessがもし開いてるなら開かない」とするには? http://okwave.jp/qa/q7856640.html を参考にしたのですが、 Sub test1() Dim AccApp As Access.Application Dim MyPath As String MyPath = "C:\Users\Documents\test.mdb" AccApp = CreateObject("Access.Application") AccApp.Visible = True AccApp.OpenCurrentDatabase(MyPath) AccApp.UserControl = True End Sub で、アクセスのファイルを開くことができるのですが、 もし"C:\Users\Documents\test.mdb"が開いていたら開かない とするにはどうすればいいでしょうか? http://okwave.jp/qa/q8051720.html これのアクセスバージョンをするにはどうすればいいですか? Dim book As Workbook や For Each book In Workbooks をアクセスの場合、どうすればいいのかわかりません。
- ベストアンサー
- Visual Basic
お礼
ご回答ありがとうございます! ご指摘頂いたようにしたら問題なくできました! ありがとうございました。