- 締切済み
テーブル設計(複数の通貨がある場合のフィールド設定)
ACCESSで販売管理&帳票作成システムを作りたいと考えています。 輸出入がメインなので、円建、ドル建、ユーロ建、ポンド建の取引があります。 この場合、テーブルの金額フィールドをどのようにすればよいのか迷っています。 以下に、通貨は円とドルの2種類に限定して簡単な例で説明します。 A)金額フィールドは一つだけ設ける 通貨種類フィールド、金額フィールド1つを設ける。 この場合、金額フィールドには円貨額、ドル価額が混在することになり、単純な合計に意味はない。 しかし、通貨種類フィールドを抽出条件にすることで円建、ドル建を抽出することができる。 B)円建金額、ドル建金額のフィールドを別個に設ける この場合、円取引の場合はドル建金額フィールドはNullになる。 逆にドル取引の場合、円建金額フィールドはNull。 テーブルの設計は、具体的にどのようなシステムを組むかに依存し、一概に結論付けることは難しいとは思いますが、一般論として上記のような事情の場合、金額フィールドは1つだけ設けるのか、あるいは通貨の数だけ設けるのか、どちらがスマートになるでしょうか? 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1415)
回答No.1
取引時の通貨コード、金額と決済時の通貨コード、金額の両方が 必要なのでは? 私は証券取引の経験しかないのですが、値洗いは当日のレートで ドル換算でやってました。勿論、テーブルに記録するのではなく、 SQLで動的計算結果を出力するのですが・・・ 決済すると、損益が確定する(その後変動しない)ので、テーブルに 記録しても良いでしょう。 尚、通貨別に複数フィールドを設ける方法は薦められません。