データベースの基本④~預金通帳を分解してみる3

次に大事になるのが、「一意」という言葉。つまり「Only One」ということです。銀行口座の場合、あってはならないことそれは同じ口座番号が二つあるということです。二つ同じ口座番号があるとどちらがAさんの取引で、どちらがBさんの取引なのかわからなくなってしまいます。これでは安心して銀行と取引することもできません。

この場合絶対に「一意」にならなければいけない情報は、「口座番号」と「ID」です。通常Accessでデータベースを作成する場合、「一意」とならなければならないフィールドを「主キー」と設定します。

では一つの取引テーブルに入力された複数の口座番号の取引をどうやって分けたらいいのでしょうか?

ここで出てくるのが「クエリ」という機能です。
続きを読む

帝王学―「貞観政要」の読み方

貞観政要という言葉すら聞いたことがなかったのですが、日本には昔から
あった有名な書籍でした。

中国の古典ですが、どうやって今ある地位を守ることができるのか?という問い
特に、私が仕事で接している中小企業の社長さんに対してどう接すべきか、大変
ためになることが書かれていました。

たぶん中小企業の社長はこの本に書かれていることを望んでいるんだなと思うし、
言わないより言ったほうがいいと思ったことは、苦言でもどんどん言っていかないと
いけないと思いました。

データベースの基本②~預金通帳を分解してみる1

銀行の利用履歴を少し細かく見ています。
まず一番大事な情報は、あなたの記録です。
例えば、口座番号、支店名(店舗番号)、種別、名前、住所、印鑑
こういった情報は口座を開設するときに必要事項を記載する(名前・住所・印鑑)、銀行から一方的に与えられる(口座番号、支店番号)二種類の情報に分けられます。
これをデータとしてまとめます。
2809201
口座番号や店舗番号、種別、氏名、住所、連絡先、生年月日をデータベース用語で言うと、「フィールド」と呼びます。
そしてテーブルで構成されているデータの塊のことを「テーブル」といいます。
続きを読む

データベースの基本③~預金通帳を分解してみる2

銀行の大きなサーバーには、大きく簡単に分けると、顧客の情報とその取引明細が保存されています。

いま顧客には二人の顧客が登録されていますが、取引の明細を見てみても、どちらの取引明細なのかが分かりません。

区別するには二つの方法があります。
一つ目は顧客ごとに取引テーブルを作ることです。
2809221
顧客によってテーブルを変えて明細を蓄積していくことで誰の取引明細なのかわかります。

もう一つの方法は次のように取引テーブルを変更します。

口座番号というフィールドを取引テーブルに追加しました。これであれば取引の明細がどの口座で行われたのかがわかります。
2809222
ではどちらの方法がいいでしょうか?
最初の方法、口座ごとに取引テーブルを分ける方法だと、パっとみて一連の取引が分かるし、見やすく、発想もExcelっぽいです。ただこの方法だと口座の数がどんどん増えていった場合それに比例してテーブルの数も増えていき、管理が大変そうです。そもそも口座が増えるたびにテーブルを作らないといけないし、取引を入れるテーブルも自分で探して取引を入れないといけません。これでは膨大ではなくてもちょっとしたデータでも管理不能になるのはご理解いただけると思います。

ですので当然取られている方法は後者だと思います。
=============================================
今週は雨が多く、思った通りのトレーニングができません。
来月末には今シーズン最初のフルマラソン。
なんとか3時間走れる体に仕上げないと。

本日も最後までお読みいただきありがとうございます。

データベースの基本①~身近なデータベース

データベースと聞くと、どこかの大きな会社が使うもので自分に照らし合わせてみると、関係がなさそうに感じますが、実は皆さんの身近なところで沢山使われています。

例えば、

銀行通帳

新幹線の予約システム

図書館の利用履歴

コンビニのPOSレジ

ポイントカード

クレジットカードの利用履歴

ETC

など
続きを読む

Accessで名刺管理~訪問日の間隔を求める③

訪問の間隔が必要な期間を過ぎているかどうかの判断をします。

最後に次のフィールドを作ります。

要否: IIf([間隔]>=[最低訪問間隔],”○”,”×”)

あとはこの要否のフィールドをフォームに表示させます。
デザインタブの既存のフィールドの追加をクリックします。
2809083
続きを読む

Accessで名刺管理~訪問日の間隔を求める②

間隔を求めたら、取引先のランクごとに決められた間隔通りに訪問できているか
自動で判別できるようにします。

最初にテーブルに取引先をランク付けします。
名刺データテーブルにランクというフィールドを作ります。
フィールドサイズは2で十分です。
2809071
このフィールドに得意先のランクをAからDまでで入れていきます。
続きを読む

Accessで名刺管理~訪問日の間隔を求める①

活動記録から本日からその得意先に最後に訪問した日をもとめて、
その差の日数を求めます。

最後の訪問日と間隔を求めるクエリです。
2808051
まずはDMax関数で得意先毎の最後の訪問日を活動記録のデータから求めます。
次にDatediff関数を使って、今日(date())との差を求めます。
dateの()は必ず付けてください。
続きを読む

Accessで名刺管理~活動記録を顧客詳細情報から確認

活動記録を名刺データのフォームから確認できるようにします。
情報はできるだけ一つにまとめた方が、あっちこっち移動する必要が
ないので、できればそういう仕組みにしたいところです。

最初に活動記録一覧フォームをコピーして、名前を変えて保存します。
2808021
デザインビューを開いて、上の図のように得意先名と担当者を削除します。
続きを読む