こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Access EOFの判定がうまくいかない

お世話になります。
Access2010
テーブルのEOFの判定がうまくいきません。

 If TMP.EOF = False Then
  MsgBox "EOFではありません"
 Else
  MsgBox "EOFです"
 End If

TMPには1レコードありますが、なぜかTrueになってしまいます。

なお、TMP.MoveLastしてもエラーにならず、その後、イミディエイト
ウィンドウで?TMP.EOFとしてみると、Falseが返ってきます。

本来であればEOFでMoveLastするとカレントレコードが無い旨のエラーに
なるかと思うので、EOFではないと思うのですが。。

どのようなことが考えられますでしょうか。

<TMPについて>
・(訳あって)主キーは設けておりません。
・0レコードか1レコードです。1レコード以上になることはありません。
・TMPはあるフォームのレコードソースとしています。
 ※フォーム上の登録ボタンが押されたら、フォームのレコードソースを
  ""としフォームを閉じます。このタイミングでTMPにレコードが生成
  されます。
  上記の判定処理は、フォームを閉じた直後に行っています。

ご教示の程、宜しくお願い致します。

投稿日時 - 2016-08-17 14:32:50

QNo.9216434

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

If TMP.EOF = False Then
If TMP.EOF == False Then ではありませんか?

投稿日時 - 2016-08-17 14:52:28

補足

maiko0333さま
ご回答ありがとうございます。
=は1つです。2つ並べることはありません。
ちなみに2つ並べるとコンパイルエラーとなります。

投稿日時 - 2016-08-17 15:35:38

あなたにオススメの質問