Access2000の初心者です。学習用のmdbファイルをダウンロードしました。
このmdbファイルを開くと自動的にフォームが開いて
ある作業が選択できます。
ところで、AutoExecマクロと呼ばれるもので上記のようなことができる
そうですが、ダウンロードしたmdbファイルをシフトクリックで
開いても該当のマクロは見当たりません。マクロ以外で
このようにmdbファイルを開くと同時に自動実行させるプログラム?を
書くにはどうすればよいのですか?
ちなみに、例の学習用サンプルファイルにはマクロもモジュールも
(少なくともリストを見る限るでは)ありませんでした。
クエリは何個かあります。フォームは1個だけです。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

起動時の動作を指定する方法があります。



メニュー[ツール]-[起動時の設定]を開いてみてください。
ここで「フォームの表示」でただひとつのフォームが指定されているのでしょう。

あとは[Form_Load]イベントに記述がある内容が実行される、という状況とおもいます。

メニュー[ツール]-[起動時の設定]が見えないなら[ツール]をダブルクリックしてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
今、確認したところ、おっしゃるお通りの状況の設定でした。
Accessでアプリを、と考えて勉強中なので大変助かりました。

お礼日時:2002/03/17 07:52

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q相対パスで別MDBファイルを開きたい

Accessでフォームにボタンを作り、別のmdbファイルのフォームを開く処理を書いてあります。

コードは次のような感じです。

Dim acMDB As Object
Dim isOK
isOK = Shell("MSACCESS.exe \\コンピュータ名\フォルダ名\ファイル名.mdb",vbMaximizedFocus)
set acMDB = GetObject("\\コンピュータ名\フォルダ名\ファイル名.mdb")

この度ファイルを他の人へ配布することになったのですが、パス名を相対パスで書くことは出来ないのでしょうか?
他の人のコンピュータ名も分からない為、
出来たら元ファイルと同じフォルダにある…というような指定が出来れば助かるのですが…。

Aベストアンサー

Currentproject.Path
で、現在の MDB のフォルダが取得できます。

QAccessのMDBファイルを開く際に、”オブジェクト”XX"が見つかりません”と表示される。

Access2003で作成したMDBファイルを他のPCのAccess2003または2007で開く際に、”オブジェクト”XX"が見つかりません・・・・”と表示されて開けない場合があります。
”場合がある”というのは必ずしもファイルが壊れている訳では無い様で、複数のPCにおいて開けたり開けなかったりします。Access2007でも開けたり2003でも開けなかったりすることから、Ver.によるものではない様なのですが、何が原因か?教えていただけませんでしょうか?

Aベストアンサー

あくまで参考意見と考えて頂きたいのですが・・・

ご質問のMDBが持つ、「動作仕様」の説明が出来ないと、経験のある方々ならば尚更原因範囲を絞ることが出来ないため、貴方の解決に向けたアドバイスが困難だと考えます。

「オブジェクト2」という名称から推測すると、ユーザーが作成&命名したものが原因である可能性が在りますが・・・
2003形式で作成されたmdbファイルを、異なる2007で開こうとする場合には、
(自動開始の設定がなければ)ERR無しで開くでしょうけど、実行を開始するか自動実行になっている場合にはERRが発生しても不思議ではありません。
これは基になるファイルの形式が違うことで起きる現象です。

これを考慮すると、2003のPCと、2007のPCで発生しているERRは(内部的に実は)異なる原因での同じ現象とも考えられます。

また、「複数のPCで同じ現象」というのも、その前提条件が不明です。

問題のMDBの機能として
・処理がMDB内で完結し、そのPC以外のリソース(ファイルサーバー上のDBなど)とはリンクしていない「MDB単体での環境・処理」であること
⇒リンク先で発生している原因で、MDBの内部記述以前に、そのPCやアカウントからの「参照権限が無い」ために発生することもあるためです。

・動作開始時の「条件設定」が、PCごとに設定されていないこと
⇒各PCでMDBが動作開始する時、(利用者用の個別条件などがあり)環境設定用のファイルがある。
これによって、表示するフォームが異なったりなどの処理の流れが異なるため、ある処理ルートでのみにある「バグ」がERRの原因になる。

これら2点「だけ」を考慮しても、ご質問の現象の原因となりえます。

質問者さんが、どの様なご経験と知識からの「テスト実施」をして、ご説明をしているのかが曖昧で、問題のMDB自体の「動作仕様」についても不明なため、無数に考えられる原因を絞ることは困難な様子です。

可能ならば、MDBの仕様を調べ、ERRの有無がある「各PCでの動作環境」についても調査&補足されると、解決へ近づけるかも知れません。

あくまで参考意見と考えて頂きたいのですが・・・

ご質問のMDBが持つ、「動作仕様」の説明が出来ないと、経験のある方々ならば尚更原因範囲を絞ることが出来ないため、貴方の解決に向けたアドバイスが困難だと考えます。

「オブジェクト2」という名称から推測すると、ユーザーが作成&命名したものが原因である可能性が在りますが・・・
2003形式で作成されたmdbファイルを、異なる2007で開こうとする場合には、
(自動開始の設定がなければ)ERR無しで開くでしょうけど、実行を開始するか自動実行になっ...続きを読む

QAccess 複数フォームを開き、画面の最上面にしたいフォームをコント

Access 複数フォームを開き、画面の最上面にしたいフォームをコントロールするコマンドを知りたい。

複数のフォームを開きます。
画面の最上面にしたいフォームをコントロールするコマンドは何を使えば良いのかご教授下さい。
Aのフォーム上で、Bのフォームを開くボタンを押す。
Bのフォームが開かれAのフォームの上に表示される。
Bのフォーム上の、切替ボタンを押すとAのフォームが上に表示させたい。
Bのフォームは、開くのに時間がかかる為閉じたくないのです。

Forms!A.SetFocusを記述したのですが変化なし
Forms!A.Activateを記述でエラー!

お願いします。

Aベストアンサー

DoCmd.SelectObject acForm, "A"

では、どうですか?

Q別MDBのフォームを起動

フォームのボタンをクリックしたら、別のMDBファイルのフォームを起動させたいのです。
そのフォームはMDB起動時に開くフォームとは別のフォームです。
さらに前のMDBファイルは閉じたいので、ハイパーリンクはどうだろう…?
といったかんじです。
お願いいたします。

Aベストアンサー

ランタイムは使ったことないのですが、以下ではどうでしょうか。
(Access を指定しない方法)

  Dim acMdb As Object
  
  Set acMdb = GetObject("D:\Hoge\B.mdb")
  acMdb.Application.Visible = True
  acMdb.Application.UserControl = True
  
  acMdb.Application.DoCmd.OpenForm "フォームB"
  
  Set acMdb = Nothing

※フォームのクローズも acMdb.Application.DoCmd.Close のように

QACCESS97で作成したmdbをACCESS2003で開く際

こんばんは。

掲題の件でエラーが発生します。
「B\XXX\XXX\XXX」のパスが見つかりません。
これは、以前のACCESS97で作成したMDBがWindows95で作成しているため、Windows95ディレクトリのBドライブをパスとして自動的に認識しています。
これをWindowsXpのドライブ(CやDしかないので)の下のディレクトリにコピペして開き、フォーム上のボタンを押すと「DoCmd.OpenForm "F_あいうえお", acNormal」で上記のエラーが発生して先へ進めません。

上記の件で、QNo.910383を参照し、Jet4.0SP8を入れましたが、別件のブロック式のエラーは以前として表示されます。

とにかく、パスのエラーを先へ進めるにはどうしたらよいのでしょうか?

何卒、ご教授お願い致します。

Aベストアンサー

それでは仮想ドライブでBドライブを作成して、そこにファイルを置いてみては?
http://www.vector.co.jp/soft/dl/win95/util/se170321.html


このカテゴリの人気Q&Aランキング

おすすめ情報