Accessでaccdeへ変換で機能しない

このQ&Aのポイント
  • Access2007で、accdbからaccdeへ変換したのですが、コマンドボタンしか機能しません。
  • VBAで設定したボタンが機能していないようです。
  • マクロの設定は「全て有効」になっています。
回答を見る
  • ベストアンサー

Accessでaccdeへ変換で機能しない

Access2007で、accdbからaccdeへ変換したのですが、コマンドボタンしか機能しません。 機能するのは、Accessの終了・Excelの出力のみで、クリックしてフォームを開く・フォームを閉じるのボタンを押しても何も起こりません。調べてみると、マクロで設定したボタンは問題ないのですが、VBAで設定したボタンが機能していないようです。例えば下記のような記述をいくつか設定しています。 Option Compare Database Option Explicit Private Sub コマンド21_Click() DoCmd.OpenForm "閲覧メニュー" DoCmd.Close acForm, "メインメニュー", acSaveNo End Sub 何がおかしいのでしょうか? マクロの設定は「全て有効」になっています。 どなたかおわかりになる方おりませんでしょうか。

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

  • ベストアンサー
回答No.1

元のaccdbを起動して、VBAウィンドウを開き、[ツール]-[参照設定] を開いて「参照不可」になっている項目がないかチェック、 なっていたらその項目名を控えておいて、チェックを外す。 [デバッグ]-[*****のコンパイル]をクリックして、エラーがでいなかチェック。エラーが出たらエラーが出ないようにコードを修正。 その後、accdeへ変換してみてください。

shremp
質問者

お礼

accde変換で動きました。ありがとうございました。

関連するQ&A

  • アクセスのマクロ

    友人がアクセスで作ったマクロです。3行目で止まってしまいます。どこが悪いのでしょうか。(私は全くの素人でわかりません) Private Sub 記載事項入力ボタン_Click() DoCmd.Close acForm, "初期画面", acSaveYes DoCmd.OpenForm "入力フォーム", acNormal ←ここ End Sub

  • 他のデータベースのフォームを開きたい

    いつも、お世話になります。 ・予定(accdb)の " フォームA" で作業中 ・会社予定(accdb)の "F_Calendar" のフォームを開いて参照したい場合 予定のフォームAに "コマンドボタン" を配して、クリックのイベントブローシャー に、記述するのを色々調べ、手本にしましたがうまくいきません。 試したことは下記のことですが、メチャメチャになっていると思います。 お解りの方がいましたら、お教えいただきたいと思いますのでよろしくお願いいたします。 あるいは、クリック時のマクロでは出来ないでしようか? Option Compare Database Dim appAccess As Access.Application Set appAccess = CreateObject("Access.Application.9") Private Sub コマンド37_Click() appAccess.OpenCurrentDatabase ("C:¥Users¥Public¥仕事¥会社予定.accdb") appAccess.DoCmd.OpenForm "F_Calendar" appAccess.Visible = True Set appAccess = Nothing Exit_コマンド37_Click: Exit Sub End Sub

  • 標準モジュールだとエラーになる理由を教えてください

    アクセスのフォームの上にコマンドボタンを一つ設置して、 クリックイベントで Private Sub コマンド0_Click() DoCmd.Close acForm, Me.Name End Sub とすれば、自身のフォームが閉じます。 しかし、 Private Sub コマンド0_Click() Call test End Sub と、 標準モジュール Option Compare Database Option Explicit Sub test() DoCmd.Close acForm, Form_フォーム1 End Sub にすると、 実行時エラー2498 指定した式は、 いずれか の引数とデータ型が対応していません。 になります。 行ってる意味は同じだと思うのですが、 なぜエラーになるのか教えていただけますか?ご教授よろしくお願いします。

  • コマンドボタン名を取得して変数に代入したい。

    OS:windowsXp Access Version:Xp 既出でしたらすみません。 INDEXのフォームにて複数コマンドボタンを作り、それを押すと各登録フォームや集計フォームが開くようにしています。 さて、質問なのですが、コマンドボタンで別のフォームを開く時の処理を(フォーム名が違うだけで後は同じなので)まとめて書きたいのです。 現在は次のようにやっています。 ------------------------------------------------- Private Sub F_メニュー_Click() Call close_form DoCmd.OpenForm "F_メニュー", acNormal, , , acFormEdit, acWindowNormal End Sub Private Sub F_売上伝票_Click() Call close_form DoCmd.OpenForm "F_売上伝票", acNormal, , , acFormEdit, acWindowNormal End Sub      (中略) Private Sub 事業所別集計_Click() Call close_form DoCmd.OpenForm "F_事業所別集計", acNormal, , , acFormEdit, acWindowNormal End Sub Private Sub 消費税変更_Click() Call close_form DoCmd.OpenForm "F_消費税変更", acNormal, , , acFormEdit, acWindowNormal End Sub Private Sub システム終了_Click() Call close_form DoCmd.RunCommand acCmdExit End Sub Private Sub close_form() msgbx = False DoCmd.Close acForm, "index", acSaveYes End Sub ------------------------------------------------- これを  ボタン名_Click() ではなく  frm_open() 押されたボタン名を変数に取得(ボタン名=Form名にします。) DoCmd.OpenForm 押されたボタン名変数 のように共有したいのです。 どうすれば出来ますでしょうか?ご指導よろしくお願いします。

  • クリックイベントなのに、2回クリックしないとフォー

    クリックイベントなのに、2回クリックしないとフォームが閉じないです。 フォームに閉じると言うコマンドボタンがあり、クリックイベントで Private Sub cmd_閉じる_Click() DoCmd.Close acForm, Me.Name End Sub としてるのですが、なぜか1回ボタンを押しただけではフォームが閉じません。 2回目押した時にフォームがとじます。 ダブルクリックでも閉じます。 Private Sub cmd_閉じる_Click() 'DoCmd.Close acForm, Form_Fフォーム.Name End Sub のように、フォーム名を指定すると1回のクリックで閉じます。 しかしMe.Nameだと2回目じゃないと閉じない理由がわかりません。 Fフォームは他フォームから DoCmd.OpenForm Form_Fフォーム.Name, acNormal で開いたから2回クリックしないと閉じないのでしょうか?

  • アクセスVBAのエラーについて

    フォームを閉じるためにフォームにボタンを置いて、イベントプロシージャに下記のように書き込みました。すると添付画像のエラーが返ってきてマクロが動きません。 Private Sub コマンド103_Click() On Error GoTo Err_コマンド103_Click DoCmd.Close Exit_コマンド103_Click: Exit Sub Err_コマンド103_Click: MsgBox Err.Description Resume Exit_コマンド103_Click End Sub で、「ファイル-オプション-現在のデータベース」の”フォームの表示”を問題のフォームに切り替えたら問題なく動作します。 つまり”フォームの表示”で選んだフォームでしかコマンドボタンのマクロが動きません。全てのフォームでマクロが動くにはどうしたらよいのでしょうか?

  • Accessでコマンドから空のフォームを開くには?(初心者です)

    Access2003を使用して顧客名簿を作成しています。 コマンドボタン「新規入力」を押すと空のフォームが 開くようにしたいのですが、どのようにしたら良いのでしょうか? 一応、初心者なりに Private Sub コマンド4_Click() Dim namae namae = "個人住所フォーム" DoCmd.OpenForm namae, acNormal End Sub まではやったのですが、開いたフォームは名簿の一番最初の方の データでした・・・。

  • オブジェクト(コントロール)の名前を変更したい

    諸事情があり、フォーム上のコマンドボタン40個くらいの名前を変更したいのですが まず、一つだけ変更できるか実験してみたのですがうまくできません。 Sub オブジェクト名変更() DoCmd.OpenForm Form_フォーム1.Name, acDesign Form_フォーム1.コマンド0.Name = "あああ" DoCmd.Save acForm, Form_フォーム1 End Sub を実行すると メモリが不足しています。(Error 7) と出たり、 実行時エラー 29054 指定のコントロールを追加、名前を変更、または削除することはできません。 と出たりします。 これって無理って事でしょうか? バージョンは2007です。

  • アクセスからアクセスを立ち上げたいのですが

    オフィス2007です。 アクセスからアクセスを立ち上げたいのですが、うまくいきません。 test1.accdbにフォームとコマンドボタンを設置して、 Private Sub コマンド1_Click() Dim acApp As Object Set acApp = CreateObject("Access.Application") acApp.OpenCurrentDatabase C:\test2.accdb" acApp.Visible = True End Sub を実行したのですが、アクセスのアプリケーションが一瞬だけ開いて、閉じてしまいます。 「 acApp.Visible = True」の部分に、ブレークポイントを設定して、ステップインしてみたところ、 acApp.Visible = Trueでアクセスのアプリケーションが立ち上がり、test2.accdbが表示されますが 「End Sub」で閉じてしまいます。 ずっと開き続けるにはどうすればいいでしょうか?

  • AccessVBAにおけるOpenArgsの使用について

    AccessVBAを最近はじめた初心者です。 ~~~フォーム1~~~ Private Sub コマンド0_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド0" End Sub Private Sub コマンド1_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド1" End Sub ~~~フォーム2~~~ Private Sub Form_Load() Dim strFormName As String strFormName = Forms.フォーム1.OpenArgs DoCmd.PrintOut strFormName End Sub 上のプログラムのようにフォーム1でクリックしたボタンによってフォーム2を読み込んだ時の動作を変えるプログラムを作成しようとしています。 しかし、実際に起動させると、『strFormName = Forms.フォーム1.OpenArgs』の辺りで 「Null の使い方が不正です。」 というエラーメッセージが表示されます。 Accessのヘルプを参照に組んでみたのですが、どの箇所が間違っているのでしょうか? 回答、よろしくお願いします。

専門家に質問してみよう