鉄血さん、こんばんは。
T_本棚とT_読者ですが、主キー同士(登録番号)で結合されています。 このような場合は、2つのテーブルの関係は一対一関係といいます。 一対一関係のデータは、テーブルを分けないで一つにするのがデータベース設計のセオリーです。(下記リンクを参照してください。)
一対一関係のテーブル設計 - hatena chips
つまり、T_本棚に未読フィールドを追加すればいいだけです。 そうすれば、何も悩むことなく、本を新規追加すれば、未読は自動で規定値のTrue(チェック入り)になります。
shigeさん、移設第一号の質問、ありがとうございます。
私も法律関係には詳しくないのであまり的確なアドバイスは難しいと思いますが、テーブル設計は画像のものでよくできていると思われます。あとは、いろいろ、テスト入力などして問題点をあらいだせばいいかと思います。
ちなみに、コード部分ですが、前に``` (トリプルバッククォート)を挿入するとコードブロックになり読みやすくなりますので、編集ボタンから修正してみてください。バッククォートは Shift+@ で入力できます。 さらに前のものは、```js とすると色がつきますので、より見やすくなります。
下記のようになります。
Function tuki(day1, day2 As Date) ’使い方 tuki([入社日],[退社日]) tuki([入社日],date()) Dim i As Long If (Format(day1, "dd") < Format(day2, "dd")) Then i = DateDiff("m", day1, day2) Else i = DateDiff("m", day1, day2) - 1 End If tuki = i End Function
自己解決 月数にすれば簡単でしたね(汗
Function tuki(day1, day2 As Date)
’使い方 tuki([入社日],[退社日]) tuki([入社日],date()) Dim i As Long
If (Format(day1, "dd") < Format(day2, "dd")) Then i = DateDiff("m", day1, day2) Else i = DateDiff("m", day1, day2) - 1 End If
tuki = i End Function
テーブル設計は添付の通りに検討中ですが...
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
Markdown Tables generator
鉄血さん、こんばんは。
T_本棚とT_読者ですが、主キー同士(登録番号)で結合されています。
このような場合は、2つのテーブルの関係は一対一関係といいます。
一対一関係のデータは、テーブルを分けないで一つにするのがデータベース設計のセオリーです。(下記リンクを参照してください。)
一対一関係のテーブル設計 - hatena chips
つまり、T_本棚に未読フィールドを追加すればいいだけです。
そうすれば、何も悩むことなく、本を新規追加すれば、未読は自動で規定値のTrue(チェック入り)になります。
shigeさん、移設第一号の質問、ありがとうございます。
私も法律関係には詳しくないのであまり的確なアドバイスは難しいと思いますが、テーブル設計は画像のものでよくできていると思われます。あとは、いろいろ、テスト入力などして問題点をあらいだせばいいかと思います。
ちなみに、コード部分ですが、前に``` (トリプルバッククォート)を挿入するとコードブロックになり読みやすくなりますので、編集ボタンから修正してみてください。バッククォートは Shift+@ で入力できます。
さらに前のものは、```js とすると色がつきますので、より見やすくなります。
下記のようになります。
自己解決
月数にすれば簡単でしたね(汗
Function tuki(day1, day2 As Date)
’使い方 tuki([入社日],[退社日]) tuki([入社日],date())
Dim i As Long
If (Format(day1, "dd") < Format(day2, "dd")) Then
i = DateDiff("m", day1, day2)
Else
i = DateDiff("m", day1, day2) - 1
End If
tuki = i
End Function
テーブル設計は添付の通りに検討中ですが...