accessの質問です。


フォームで名簿検索をするためにテキストボックスに以下のようなプロシージャを書いています。


Private Sub 電話番号検索_AfterUpdate()
Me!電話番号.SetFocus
DoCmd.FindRecord Me!電話番号検索
End Sub


Private Sub 名前検索_AfterUpdate()
Me!カナ.SetFocus
DoCmd.FindRecord Me!名前検索

1は正常に作動するのですが、2はエラー438が出てします。フィールド名は間違っていないので、多分データ自体が半角かななのが原因だと思うのですが、詳しい方、回避法をお教え下さい。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2007/06/21 22:40:06
  • 終了:2007/06/22 13:23:39

ベストアンサー

id:memo77 No.1

memo77回答回数238ベストアンサー獲得回数202007/06/21 23:06:58

ポイント60pt

これだけだとちょっと判断しかねますが、コントロール名が原因でこのエラーになることがあります。

特にアルファベット全角、カナ、長音(ー)あたりで起こりやすい気がします。

Me!カナ.SetFocus

Me![カナ].SetFocus

にしてみてください。

基本的には日本語のコントロール名はオススメしません。

原因不明のエラーの原因になることがあります。

コントロールをいったん削除して作り直してみてもよいかもしれません。

http://www31.atwiki.jp/memo77/

id:nyao4179

回答ありがとう御座います。

やってみましたがだめでした。。。

一応[kana]というコントロール名に修正して見ましたが効果無しでした。

ちなみに me![xx].SetFocus の[xx]部分を他のコントロールにすると動いたので、データ自体に問題があるのかな?とも思っております。

2007/06/21 23:19:48
  • id:kn1967
    エラー438って事は[カナ]フィールドがsetFocusメソッドを受け付けない状態であるという事ですから
    [カナ]フィールドがロックされていてクリックしても選択できないような状態になっているという事でしょう。
    動作OKだったフィールドと[カナ]フィールドのプロパティを比べて違いを探してみてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません