• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessの規定値について)

Accessの規定値について

このQ&Aのポイント
  • Access2003を使用して、受付一覧を作成する際に、作業年と受付番号を既定値とする方法があるか調査しました。
  • 受付番号の連番について、昨年度分があるためMAX+1の方法は使えません。
  • Accessの詳しい知識がないため、アドバイスをいただければと思います。

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

> 【作業年】:作業した西暦を入れていますが3月締めですので >    2009/4/1~2010/3/31 まで 2009 と規定値としたい は、 Year(Date())-IIf(Format(Date(),"mm/dd")<="03/31",1,0) と、既定値を設定すれば、テーブルでも可能 > 【受付番号】:1~連番にする。 >  (作業年ごと4/1~から0001~ +1とするように既定値としたい) は、テーブルに既定値を設定することは、不可能 フォームあたりで、既定値として、 =DMAX("受付番号","テーブル名","作業年 = " & Year(Date())-IIf(Format(Date(),"mm/dd")<="03/31",1,0)) で、行けるかな? DMAX関数が、テーブルだと、既定値に使用できないと言う問題ね その前に・・・ > 作業年、受付番号は他のテーブルとリレーションシップ のあたりは、リレーションで、繋げない方が、良いかと思うよ 繋げるキーは、「No」絞って、重複がないものの方が、良いという話ね ですので、「作業年」は、「受付日」などから、クエリで演算して出す 「受付番号」は、テーブルを削除しない、「取り消し日」等で削除の代用を行い、同じくクエリから演算と、言うのが、#1さんの言う常識的な話ね もう少し作りこみをしてくると言ってる意味が、判ってくると思うけど・・・ > アクセスはあまり詳しくありません。 では、難しいかな^^;

kapakapa
質問者

お礼

ご回答ありがとうございます。上記の方法で思い通りになりました。リレーションについては、運用が受付番号でその後の処理が進んでいくため、作業年+受付番号でリレーションシップで繋げてしまいました。作業年ごとにmdbを分けたほうが良かったのかもしれません・・・。いろいろ勉強させてもらいました。ありがとうございました。

その他の回答 (1)

noname#192382
noname#192382
回答No.1

規定値の定義を知りませんが、常識的に考えて回答したいと思います。 作業年】:作業の実施日を記録しておけば、作業年度は後でクエリーでどのようにでも計算できますので、ここは年度ではなく作業した日を入れるべきと思います。 【受付番号】:これもオートナンバーと作業実施日があればクエリーで計算できますので、このフィールドは不要になります。

kapakapa
質問者

補足

ご回答ありがとうございます。 作業年、受付番号は他のテーブルとリレーションシップでつなげたりもしているので、消せません・・・。すみません。

関連するQ&A