| 
    
     |  | 職場の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 文字以下です」という記載はありました。
 
 |  |