• ベストアンサー

オプション→フォームの表示で起動したいフォームを

アクセス2010 起動時の設定 オプション→フォームの表示 で起動したいフォームをvbaで設定するには? Call Application.SetOption("????", True) このようなコードでいけそうな気がするのですが、?に何を入れればいいのかわかりません。 フォーム名は必要だと思うのですが、 この設定をvbaで行う場合のコードを教えてください。

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

  • ベストアンサー
  • hiro-kayu
  • ベストアンサー率100% (2/2)
回答No.2

Access2010 の標準設定では、特に指定しなくても DAO が使用できるようになっているはずなのですが・・・下記を確認してみてください。 I)「参照設定」で下記の項目にチェックマークがついているか確認してみてください。   Microsoft Office 14.0 Access database engine Object Library II)チェックがついているのであれば、もしかするとプロジェクト名が「Database」になっているのでは?   プロジェクト名が「Database」になっているのであれば、変更してください。   VBA の中でプロジェクト名を指定した関数等があれば、その部分も変更してください。   *プロジェクト名の確認方法    1)VBAエディタを開く    2)左側にある「プロジェクト」の一番上がプロジェクト名です      *「プロジェクト」が表示されていない時は、「表示」→「プロジェクトエクスプローラ」をクリック

FKFXZZEFREXJ
質問者

お礼

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

その他の回答 (1)

  • hiro-kayu
  • ベストアンサー率100% (2/2)
回答No.1

起動時のフォームを VBA で変更する際は、「SetOption」ではできないようです。 *「SetOpton」「GetOption」で設定、取得できるオプションの名前一覧 http://msdn.microsoft.com/ja-jp/library/office/ff823177.aspx (Access2013の文章ですが、2010でもほぼ一緒だと思います) なので、下記のようなルーチンを作成します。 Sub ChangeStartUpForm(frmName As String)   Dim db As Database   Dim prp As Property   Set db = CurrentDb   On Error GoTo ChangeStartUpForm_Error   db.Properties("StartupForm") = frmName ChangeStartUpForm_End:   Set db = Nothing   Exit Sub ChangeStartUpForm_Error:   If Err.Number = 3270 Then     ' プロパティが見つからなかった時は作成     Set prp = db.CreateProperty("StartupForm", dbText, frmName)     db.Properties.Append prp     Resume Next   Else     ' その他エラー     MsgBox Err.Number & " : " & Err.Description     Resume ChangeStartUpForm_End   End If End Sub そして、起動時のフォームを変更したい箇所で ChangeStartUpForm "Form名" のように呼び出せば、変更できます。

参考URL:
http://www.access-programmers.co.uk/forums/showthread.php?t=87627
FKFXZZEFREXJ
質問者

お礼

SetOptonではできないのですね。 リンク先の一覧は便利ですね。 今後活用したいと思います。 早速コードを張り付けましたが、   Dim db As Database の部分で コンパイルエラー プロジェクトではなく、ユーザー定義型を指定してください。 になってしまいます。 基本的な事なのかもしれませんが、 なぜこのエラーがでるのでしょうか? 主性方法を教えていただければ助かります。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう