• ベストアンサー

Access2000でレコードが増えるごとに1増加させて・・・

Access2000でレコードが増えるごとに1増加させて、 12(月)になったら次のレコードでまた1に戻って、 インクリメント(1づつ増加させていく)方法があり ましたら教えてください。 データ型でインクリメント型だけですと、12→1にできないと思いまして方法を探しています。 ただ、値は可変であることが条件です。 お世話になりますが、よろしくの程お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.3

> [番号]になにを入れていいのか、 これは、 > 1増加させて、 この番号を入れるためのフィールド名です。 > やme.月でエラーが出て失敗しました。 こちらは、 > 12(月)になったら この月の情報が入っているフィールド名。 #フォームのレコードソースに含まれているフィールド名 Or フォームのコントロール名です。 各テーブルの名称・フォームの内容等を提示していただければ、それに添った 回答をしますけど。。(^^ゞ

その他の回答 (2)

noname#8027
noname#8027
回答No.2

1ずつ増加するフィールドを作って、クエリかなんかで、"iif([該当フィールド]mod 12 =0, 12, [該当フィールド]mod 12)" でよいのでは? (未確認)

ma_trix
質問者

お礼

回答ありがとうございました。 なるほど。そういう方法もあったのですね。ただ、演算子に弱く、うまく行きませんでした。もう少しいろいろやってみようとおもいます。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

フォームでの入力が前提です。 番号のフィールドと連結しているコントロールの既定値プロパティに =Nz(DMax("[番号]","[テーブル名]","[月]=" & Me.月),0)+1 と入れてみてください。 ただ、年を考慮しなくていいのかが疑問ですが。。(^^ゞ

ma_trix
質問者

お礼

回答ありがとうございました。 そういうやり方があるのですね。 やってみたところ、 [番号]になにを入れていいのか、やme.月でエラーが出て失敗しました。 自分なりに =Nz(DMax("[月]","[テーブル名]"),0)+2 とやったら1づつ増えるのができたんですが、これではフォームの値を拾ってくれないので、理想通りに行きませんでした。つまり、フォーム上で11と入力してもその値を拾ってくれません。。。

関連するQ&A