|
職場のWindows98+access97でいつも使っている以下のVBA
(フォームを開き、フォームの中のコマンドボタンの可視を はい にする)
で、
−−−−−−−−−−−−−−−−−−−−−−
On Error GoTo temp6_Err
DoCmd.OpenForm "F09_予防短期目標", acNormal, "", "", , acNormal
DoCmd.Restore
DoCmd.GoToRecord acForm, "F09_予防短期目標", acLast
Forms![F09_予防短期目標]![bt].Visible = True
temp6_Exit:
Exit Sub
temp6_Err:
MsgBox Error$
Resume temp6_Exit
−−−−−−−−−−−−−−−−−−−−−−
で、
Forms![F09_予防短期目標]![bt].Visible = True
の行で以下のようなエラーがでました。
−−−−−−−−−−−−−−−−−−−−−−−−
マクロの式または Visual Basic コードで参照されている 'F09_予防短期目標' フォームが見つかりません。
* 参照しようとしたフォームが閉じているか、このデータベースにはありません。
* このフォームの Visual Basic モジュールでコンパイルエラーが発生しました。
−−−−−−−−−−−−−−
つまり、フォームが開いているのに、認識されないのです。
自宅に帰り、WindowsXP+access97では、同じエラーがでました。
access2002にデータベース変換したらエラーはでません。
access97 でも、値の代入マクロではエラーはでません。
当掲示板の過去ログなどをさがしましたが、みつからず、
問題のフォームの名前をいろいろ変えてみました。
F09_予防短期目標……×
F09_予短目……○
F09_yotan……○
F_予防短期目標……○
F09_予防短期目標試作……×
でした。
フォーム名の長さの制約 いったものがあるのでしょうか?
今後の参考にいたしたく、ご存知の方ご教示願えないでしょうか。
なお ヘルプには、「長さは半角で 64 文字以下です」という記載はありました。
|
|