- ベストアンサー
Access2000でレコードが増えるごとに1増加させて・・・
Access2000でレコードが増えるごとに1増加させて、 12(月)になったら次のレコードでまた1に戻って、 インクリメント(1づつ増加させていく)方法があり ましたら教えてください。 データ型でインクリメント型だけですと、12→1にできないと思いまして方法を探しています。 ただ、値は可変であることが条件です。 お世話になりますが、よろしくの程お願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> [番号]になにを入れていいのか、 これは、 > 1増加させて、 この番号を入れるためのフィールド名です。 > やme.月でエラーが出て失敗しました。 こちらは、 > 12(月)になったら この月の情報が入っているフィールド名。 #フォームのレコードソースに含まれているフィールド名 Or フォームのコントロール名です。 各テーブルの名称・フォームの内容等を提示していただければ、それに添った 回答をしますけど。。(^^ゞ
その他の回答 (2)
1ずつ増加するフィールドを作って、クエリかなんかで、"iif([該当フィールド]mod 12 =0, 12, [該当フィールド]mod 12)" でよいのでは? (未確認)
- Gin_F
- ベストアンサー率63% (286/453)
フォームでの入力が前提です。 番号のフィールドと連結しているコントロールの既定値プロパティに =Nz(DMax("[番号]","[テーブル名]","[月]=" & Me.月),0)+1 と入れてみてください。 ただ、年を考慮しなくていいのかが疑問ですが。。(^^ゞ
お礼
回答ありがとうございました。 そういうやり方があるのですね。 やってみたところ、 [番号]になにを入れていいのか、やme.月でエラーが出て失敗しました。 自分なりに =Nz(DMax("[月]","[テーブル名]"),0)+2 とやったら1づつ増えるのができたんですが、これではフォームの値を拾ってくれないので、理想通りに行きませんでした。つまり、フォーム上で11と入力してもその値を拾ってくれません。。。
お礼
回答ありがとうございました。 なるほど。そういう方法もあったのですね。ただ、演算子に弱く、うまく行きませんでした。もう少しいろいろやってみようとおもいます。