Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2032 / 2272 ツリー ←次へ | 前へ→

【4189】クエリの読み込みについて ROMI 05/1/16(日) 23:09 質問[未読]
【4190】Re:クエリの読み込みについて MJM 05/1/17(月) 14:45 回答[未読]
【4191】Re:クエリの読み込みについて ROMI 05/1/17(月) 18:05 お礼[未読]

【4189】クエリの読み込みについて
質問  ROMI  - 05/1/16(日) 23:09 -

引用なし
パスワード
   クエリの中に勤怠管理1というものがあり、そこからフィールド名「社員番号」、フィールド名「日付」の年、月が一致するレコードまで移動したいのですが、この書き方でよろしいでしょうか?

Do Until rs!SyainNo = TXT_Sno And Year(rs!Date) = TXT_Nen And Month(rs!Date) = TXT_Tuki
  rs.MoveNext
Loop

もし良かったのであれば、「rs!SyainNo のカレントレコードがありません」となってしまいます。このエラーを出させないためにはどうすればよいでしょうか?
教えてください。よろしくお願いします。

【4190】Re:クエリの読み込みについて
回答  MJM  - 05/1/17(月) 14:45 -

引用なし
パスワード
   こんにちは。

>Do Until rs!SyainNo = TXT_Sno And Year(rs!Date) = TXT_Nen And Month(rs!Date) = TXT_Tuki
>  rs.MoveNext
>Loop
>「rs!SyainNo のカレントレコードがありません」となってしまいます。

もしかして、最終レコードまで移動した(EOF=TRUE)際の、
Do〜Loopを抜け出る記述がないから?
だとしたら、

Do Until rs.EOF
  If rs!SyainNo = TXT_Sno And _
    Year(rs!Date) = TXT_Nen And _
    Month(rs!Date) = TXT_Tuki Then
    …
  End If
  rs.MoveNext
Loop

では、如何でしょうか。

>クエリの中に勤怠管理1というものがあり、そこからフィールド名「社員番号」、フィールド名「日付」の年、月が一致するレコードまで移動したいのですが、

単に一致するレコードだけを取得したいなら、全件読み込むまでも無く、
レコードセットを開く際に、抽出条件が指定されているクエリやSQL文を
指定されてもいいですし、
DAO、ADOのいずれを用いているのか存じませんが、
FindFirstメソッド(DAO)
Findメソッド(ADO)
などを用いた方が効率がよろしいかと。

【4191】Re:クエリの読み込みについて
お礼  ROMI  - 05/1/17(月) 18:05 -

引用なし
パスワード
   ありがとうございます。何とかエラーは出ないようになりました。

2032 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078255
(SS)C-BOARD v3.8 is Free