- 締切済み
Access2002 フォームに行番号を自動的に入力するには
以下のフォームがあります。 製品 001 ABC ------------------------------------- 行番号 原料(使用成分) 容量 ・・・ 10 ABC 5kg 20 EFG 3kg ・ 製品に含まれる原料を管理(入力、編集)するフォームです。このフォームで「行番号」を10、20、30と自動的に入力させたいのですが・・・。 オートNoではテーブル内で連番になってしまいますが、製品が異なれば再度10、20、30・・・と入力させます。 以上、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。 >製品が異なれば再度10、20、30・・・と入力させます。 表形式のフォームなどで、“該当レコード数が簡単に確認ができるようにするための表示”ということでしょうか?EXCELの行番号のようなイメージですか? もしそうであれば、サブフォームのフォームフッターあたりに非連結テキストボックスをつくって、コントロールソースを =Count(コントロール名)とした方が楽です。ご検討下さい。 ご希望のことを実現するためには、様々な方法が考えられますが、その中で比較的簡単な方法を紹介します。 考え方は、一時的に連番を記録するフィールドを用意し、SQLでレコードセットを開いたときに、該当レコードに対し、連番を振って更新をかけるというものです。 参考URLをご覧下さい。 「参考ファイル」-「Access Contents」のNo.41とNo.71あたりが参考になりますよ。
- Raistlin
- ベストアンサー率63% (65/102)
VBAで処理するしか無さそうですね。 情報が少ないので大まかな流れだけ・・・。 0.(必要に応じ)「行番号」のフィールドをユーザーが編集できないようにする 1.レコード移動時イベントで、新規レコードかどうかを判定 2.新規レコードなら、最終レコードの「行番号」を調べ、+10した値を「行番号」にセットする。 のようにすれば良いかと。 但し、異なる製品のデータ(原料情報)が同じテーブルに保存される場合はもっと複雑な判定が必要ですね。 追加の質問がある場合は、情報を入力(表示される)コントロールの種類および名前を書いてくださいね。
お礼
回答ありがとうございます。 MSのサイトに希望する内容のものがあり、解決することができました。 ご指摘のようにVBAで可能でした。
お礼
回答ありがとうございます。 MSのサイトに希望する内容のものがあり、解決することができました。