Access VBA質問箱 IV

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

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


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

【4507】アクティブなレコードの取得 らせつ 05/3/1(火) 11:13 質問[未読]
【4508】Re:アクティブなレコードの取得 hatena 05/3/1(火) 11:56 回答[未読]
【4515】Re:アクティブなレコードの取得 らせつ 05/3/7(月) 11:47 お礼[未読]
【4524】CurrentRecord らせつ 05/3/9(水) 14:56 質問[未読]
【4533】Re:CurrentRecord hatena 05/3/9(水) 23:07 回答[未読]
【4537】Re:CurrentRecord らせつ 05/3/10(木) 10:29 発言[未読]
【4550】Re:CurrentRecord hatena 05/3/10(木) 17:40 回答[未読]
【4552】Re:CurrentRecord らせつ 05/3/11(金) 9:57 発言[未読]
【4553】Re:CurrentRecord hatena 05/3/11(金) 10:09 回答[未読]
【4576】Re:CurrentRecord らせつ 05/3/15(火) 8:53 お礼[未読]

【4507】アクティブなレコードの取得
質問  らせつ  - 05/3/1(火) 11:13 -

引用なし
パスワード
   こんにちわ。こんなことできるのでしょうか。
過去ログやググッってみても見つからないので質問させて頂きます。
今選択又は表示してるレコードの番号かなにか自分は今どこのレコードにいるか、わかる方法はありますか?
宜しくお願いいたします。

【4508】Re:アクティブなレコードの取得
回答  hatena  - 05/3/1(火) 11:56 -

引用なし
パスワード
   >過去ログやググッってみても見つからないので質問させて頂きます。
>今選択又は表示してるレコードの番号かなにか自分は今どこのレコードにいるか、わかる方法はありますか?
>宜しくお願いいたします。

レコードの番号って、何番目かということ。
CurrentRecord プロパティで取得できます。

フィールドの値なら、

Me!フィールド名

ですね。

【4515】Re:アクティブなレコードの取得
お礼  らせつ  - 05/3/7(月) 11:47 -

引用なし
パスワード
   お礼遅くなりました。hatenaさんありがとうございます。
これを使用してできそうなので、やってみます。

【4524】CurrentRecord
質問  らせつ  - 05/3/9(水) 14:56 -

引用なし
パスワード
   ▼らせつ さん:
>お礼遅くなりました。hatenaさんありがとうございます。
>これを使用してできそうなので、やってみます。

お礼してからなんなんですが、、CurrentRecordを使用してやってみましたが、
エラーがでて、できません。

変数名 = テーブルのオブジェクト名(例rs2).CurrentRecord
では取得できないのでしょうか。
お願い致します。

【4533】Re:CurrentRecord
回答  hatena  - 05/3/9(水) 23:07 -

引用なし
パスワード
   >変数名 = テーブルのオブジェクト名(例rs2).CurrentRecord
>では取得できないのでしょうか。
>お願い致します。

ヘルプをみましたか。

CurrentRecord プロパティ
フォームに表示されているレコードセット内のカレント レコードを識別します。...

フォームのプロパティですのでフォームでしか使えません。

テーブルを直接開いているのですか。
それともレコードセットの操作ですか。
(でも、選択とか表示とは矛盾しますね)

【4537】Re:CurrentRecord
発言  らせつ  - 05/3/10(木) 10:29 -

引用なし
パスワード
   お返事ありがとうです。
はい。ヘルプは見ました。やはりフォームでしか使えないのですね…
テーブルをVBAで開き
Set rs1 = dbs.OpenRecordset("tbl_IMPORT")

たとえば上のレコードからある条件を探す(フィールド1にAがあるまでループ)、そして【条件が一致したレコードのレコードNOを取得】の部分がわかりません。

おっしゃる通り、レコードセットの操作の事です。
別の方法がありましたら、宜しくお願い致します。

>CurrentRecord プロパティ
>フォームに表示されているレコードセット内のカレント レコードを識別します。...
>
>フォームのプロパティですのでフォームでしか使えません。
>
>テーブルを直接開いているのですか。
>それともレコードセットの操作ですか。
>(でも、選択とか表示とは矛盾しますね)

【4550】Re:CurrentRecord
回答  hatena  - 05/3/10(木) 17:40 -

引用なし
パスワード
   >テーブルをVBAで開き
>Set rs1 = dbs.OpenRecordset("tbl_IMPORT")
>
>たとえば上のレコードからある条件を探す(フィールド1にAがあるまでループ)、
>そして【条件が一致したレコードのレコードNOを取得】の部分がわかりません。

Rs1.AbsolutePosition ですね。ただし 0起点です。
(CurrentRecord は 1起点)

ただ、レコードセット操作であまり使う必要性はないはずです。
実際どんな処理なんでしょうか。別の方法が有りそうな気がします。

>(フィールド1にAがあるまでループ)

これは、FindFirst の方がいいかと思いますが。

【4552】Re:CurrentRecord
発言  らせつ  - 05/3/11(金) 9:57 -

引用なし
パスワード
   方法教えてくださりありがとうございます。
意味はないのでしょうか。。処理の為どうしても必要なのです。
処理としては、説明しにくいのですが。
1.テーブルにデータを書き込む。
2.また違うデータを書き込む
3.なにかあった場合、1.のデータを消す。
recordcountで総数はとれるのですが、それをとってもあまり意味がないので違う方法があったらいいなと。。。
1.と2.で条件になるような違いがないので、
これでわかりますでしょうか。

▼hatena さん:
>Rs1.AbsolutePosition ですね。ただし 0起点です。
>(CurrentRecord は 1起点)
>
>ただ、レコードセット操作であまり使う必要性はないはずです。
>実際どんな処理なんでしょうか。別の方法が有りそうな気がします。
>
>>(フィールド1にAがあるまでループ)
>
>これは、FindFirst の方がいいかと思いますが。

【4553】Re:CurrentRecord
回答  hatena  - 05/3/11(金) 10:09 -

引用なし
パスワード
   >1.テーブルにデータを書き込む。
>2.また違うデータを書き込む
>3.なにかあった場合、1.のデータを消す。
>recordcountで総数はとれるのですが、それをとってもあまり意味がないので違う方法があったらいいなと。。。
>1.と2.で条件になるような違いがないので、
>これでわかりますでしょうか。

おそらくそういうことだと思いました。

AbsolutePosition ですと、レコード削除すればずれてしまいますし、
インデックスで並べ替えられたりする可能性もあり、
必ず元のレコードを取得できる保証はありません。

このような場合は、BookMarkプロパティを使います。
両方のキーワードでヘルプを参照してみて下さい。

下記は AbsolutePosition のヘルプトピックからの抜粋です。
--------------------------------------------------------------
AbsolutePosition プロパティは、レコード番号の代わりとして使用
するためのものではありません。特定の位置を保持したり特定の位置
に戻ったりするには、ブックマークを使用します。また、ブックマー
クは、すべてのタイプの Recordset オブジェクトでカレント レコー
ドの位置を設定する唯一の方法です。
--------------------------------------------------------------

【4576】Re:CurrentRecord
お礼  らせつ  - 05/3/15(火) 8:53 -

引用なし
パスワード
   お礼遅くなりました。hatenaさん、色々とありがとうございます。
この方法でできそうな気がしてきました。
結果が出次第お知らせしようと思います。

▼hatena さん:
>>1.テーブルにデータを書き込む。
>>2.また違うデータを書き込む
>>3.なにかあった場合、1.のデータを消す。
>>recordcountで総数はとれるのですが、それをとってもあまり意味がないので違う方法があったらいいなと。。。
>>1.と2.で条件になるような違いがないので、
>>これでわかりますでしょうか。
>
>おそらくそういうことだと思いました。
>
>AbsolutePosition ですと、レコード削除すればずれてしまいますし、
>インデックスで並べ替えられたりする可能性もあり、
>必ず元のレコードを取得できる保証はありません。
>
>このような場合は、BookMarkプロパティを使います。
>両方のキーワードでヘルプを参照してみて下さい。
>
>下記は AbsolutePosition のヘルプトピックからの抜粋です。
>--------------------------------------------------------------
>AbsolutePosition プロパティは、レコード番号の代わりとして使用
>するためのものではありません。特定の位置を保持したり特定の位置
>に戻ったりするには、ブックマークを使用します。また、ブックマー
>クは、すべてのタイプの Recordset オブジェクトでカレント レコー
>ドの位置を設定する唯一の方法です。
>--------------------------------------------------------------

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