- ベストアンサー
Accessの規定値について
- Access2003を使用して、受付一覧を作成する際に、作業年と受付番号を既定値とする方法があるか調査しました。
- 受付番号の連番について、昨年度分があるためMAX+1の方法は使えません。
- Accessの詳しい知識がないため、アドバイスをいただければと思います。
- みんなの回答 (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さんの言う常識的な話ね もう少し作りこみをしてくると言ってる意味が、判ってくると思うけど・・・ > アクセスはあまり詳しくありません。 では、難しいかな^^;
その他の回答 (1)
規定値の定義を知りませんが、常識的に考えて回答したいと思います。 作業年】:作業の実施日を記録しておけば、作業年度は後でクエリーでどのようにでも計算できますので、ここは年度ではなく作業した日を入れるべきと思います。 【受付番号】:これもオートナンバーと作業実施日があればクエリーで計算できますので、このフィールドは不要になります。
補足
ご回答ありがとうございます。 作業年、受付番号は他のテーブルとリレーションシップでつなげたりもしているので、消せません・・・。すみません。
お礼
ご回答ありがとうございます。上記の方法で思い通りになりました。リレーションについては、運用が受付番号でその後の処理が進んでいくため、作業年+受付番号でリレーションシップで繋げてしまいました。作業年ごとにmdbを分けたほうが良かったのかもしれません・・・。いろいろ勉強させてもらいました。ありがとうございました。