- ベストアンサー
アクセスでのオートNOのつけかた
アクセスで請求書の管理システムをつくっています。担当者ごとに、請求書NOをどうしてもふらないといけません。 新規の請求書レコードを作成するたびに、各担当者IDごとにその最終値+1の数字になるよにできないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォームでの新規レコードの入力時に、その担当者のIDでの請求書Noの最終値+1を 新規レコードの請求書Noにしたい、ということでしょうか。 でしたら、フォームの挿入前イベント(BeforeUpdate)辺りで処理するのがよいかと思います。 Private Sub Form_BeforeUpdate() 請求No=DMax("[請求No]","請求書テーブル","[担当者ID]=[Forms]![請求書フォーム]![入力者ID]") 'その担当者によって初めて請求書が出される(→DMax関数でNullを返される)場合に対応 IF IsNull(請求書No)=True Then 請求書ID=1 End Sub ヘッダに「入力者ID」(→記録される値は担当者IDと同じ)というコントロールがある、 という想定です。 これで、フォーム上の請求書Noを使用不可(Enabled=False)か編集ロックをかける (Locked=True)かすれば、入力者が間違った請求書Noを入力することも防げます。
その他の回答 (1)
noname#182251
回答No.1
下記のSQL文で担当者ごとの最終値がでます SELECT テーブル1.担当者ID, Max(テーブル1.請求書No) AS 請求書Noの最大 FROM テーブル1 GROUP BY テーブル1.担当者ID; こういうことではないのでしょうか?
質問者
お礼
おそくなりましたが、回答、ありがとうございました!
お礼
おそくなってしまいましたが、回答、ありがとうございました!