« いたずらパンク | トップページ | 5/14日(火)は臨時休業いたします。 »

2013年5月12日 (日)

VBAの参照設定(最終確認)

VBAの参照設定でACCESSの2003と2007で不具合があったが、再現できなかったと記事を書きました。

古いバージョンの操作用MDBで確認したところ、

Photo 2007でOFFICE関連の参照不可が出ていたことが判りました。

この参照自体は、今の統合管理には不要なものなので、今後の作成バージョンでは、あらかじめ外します。

 

 

 

 

ということで、原因は判ってすっきりしました。

すっきりついでに、参照不可を回避するコードも検証しました。
今の統合管理では、AutoExecと名づけたマクロ(起動時に自動実行します。)で初期設定の為のモジュールを動かしています。

【VBAコード】
'参照設定の有無チェック
For Each Ref In References
 If Dir(Ref.FullPath) = "" Then
  Application.References.Remove Ref
 End If
Next Ref 

は、有効に機能していましたが、同じモジュールに下記のコードが存在すると、起動時にエラーとなって、進みませんでした。

モジュールの外に SUB として出して、コールするようにすると、回避できました。
何故、エラーが発生したのか良くはわかっていません。
停止時には、Formatがフォーカスされていましたので、多分、このコード内に、参照不可と絡む部分があったのだと思います。

'If GetINIValue("使用年度", "Data", CurrentProject.Path & "\" & "A_Tougou.INI") = "" Then '3月14日のチェック
'        If Format("03/14", "m") - Format(Date, "m") > 0 Then
'            DoCmd.OpenForm "F_使用年度選択", , , , , acDialog
'        ElseIf Format("03/14", "m") - Format(Date, "m") = 0 Then
'            If Format("03/14", "d") >= Format(Date, "d") Then
'                DoCmd.OpenForm "F_使用年度選択", , , , , acDialog
'            End If
'        Else
'            SetINI = SetINIValue(Format(Date, "yyyy"), "使用年度", "Data", CurrentProject.Path & "\" & "A_Tougou.INI")
'        End If
'    End If

尚、デバッグモードでは、

Msg こんなメッセージが出ましたが、通常に動かせば、メッセージは表示されませんでした。

« いたずらパンク | トップページ | 5/14日(火)は臨時休業いたします。 »

Access 業務管理」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: VBAの参照設定(最終確認):

« いたずらパンク | トップページ | 5/14日(火)は臨時休業いたします。 »

スライムパンク防止剤被害

川越市周辺の自転車屋MAP

埼玉県内出張修理店情報

自転車出張修理のブログ

カテゴリー

無料ブログはココログ

ブログランキング