アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセス初心者です。

ある町の毎年の健康診断の結果をエクセルファイルに入力しています。
毎年受診される方もいらっしゃるのですが、
受付順のIDのため毎年同じIDではなく、
毎回違ったIDで受診されます。
その為、個人データの抽出が難しいのです。

それで個人個人の毎年の
検査結果が抽出されるようなアクセスをつくりたいと
思っています。
IDは毎年違いますが、名前、生年月日が同じであれば
抽出されるというアクセスをつくりたいと思っています。

アクセスは、スクールレベルの知識のみですが、よろしくご指導ください。

A 回答 (4件)

業務用のニーズであり、仕組みの不完全さを内包(下記Xの点)ーー>本質的むつかさがあります。


本質問の本質は、名寄せといわれる問題です。(質問者はアクセスなどソフト関連のスキルのことばかり質問の重点を置いているがそんなものではない)
普通は過去の受診暦のある人は、初回受診時にIDを記した診察券件的なものを発行し、持ってきてもらうのだが、コスト面でそれが出来ないのでしょう。持参を忘れる人がいるし(x)。
ーー
色々やり方があると思う。全てのやり方が回答に出るわけでもなく、質問者は選択に困るだろう。
▲絶対いえることは、プログラムだけで完全な・正確に名寄せをヤルのは難しい。人間が常識で判断して十分チェックすることを作業ステップに加える必要があるということ。
出来れば受診当日受付にパソコンを持ち込んで、氏名生年月日ぐらいで検索し、対話で本人や、新規受診者を見極め出来たらと思う。
本当に社会保険庁の年金の問題と似た点があります。
そこでは、色々の事情もあっただろうが、プロでも過去に設計にしくじった問題です。
素人同然の質問者には、処理仕様を固めるという意味でも荷が重いと思われる。
適当に正確であれば、名寄せ不完全でも結構というのか、どれほど影響のある資料を作る必要があるのか不明ですがね。
後でどんな余波が考えられるかよく考えてね。
ーー
●仕様面
私の経験では
本人確認に
氏名
生年月日
住所(一部)
電話番号
上記は3つは必須かと思う
あと
年齢
申告により去年以前に受診したことがあるか問診し
データ(エクセル)にサインを持つ。
などのデータで
疑わしきをチェックリストとして、名寄せする前にそのリストを徹底的に電話でも使ってつぶす(原因解明する)ことです。

氏名+住所同じで生年月日違いなど、2要素同じで3番要素が違うなど。生年月日記入相違や質問者側で入力ミス。
結婚して姓が変わった。住所(住居表示)か変わったや質問者側で入力ミス。
ーー
それらをつぶした後
マスタ(昨年まで)とトランザクション(今年分)という考えで
整理する。
トランザクションから考えて、マスタを照合し、3要素ぐらい一致したものがあるか調べる。
あれば受診者IDをトランザクションに加え、マスタのレコードに加える。
マスタに無い場合は新しい受診者IDを採番し、マスタに、トランザクションレコードを追加する。
===
●処理プログラム(ソフト面)
アクセスはSQLとかで更新があったりするが、ADO・VBAなどが使えないと、操作やアクセスのマクロでは難しいのでは。
どうしてもアクセスでやるならこの点に絞って勉強し、改めてその点に絞って質問すべきでしょう。
私ならエクセルでもVBAを使って、そう難しくなくて処理できる
自信があるが、質問者にはVBAも使えないだろう。
参考までに私が考えていることは
マスタシートを氏名+生年月日+1要素列でソート
今年分シートも同じキー列でソート
VBAで両者を、氏名+生年月日+1要素列でマッチング処理をする。
新規受診者の場合は新しい受診者IDを付加する。
そうすると第3のシートに去年+今年の融合データが出来る。
これ(第3シート)を受診者ID+受診年でソートすると、受診暦の
基本資料が出来上がる。
ソートするのはマッチング法を使うためで、シーケンシャルファイルのバッチ処理には非常に有効な方法と考える。
上記のことはエクセルVBAでなく、アクセスのADO・VBAに置き換えることがほぼそのまま可能。
色々記したが、質問者の考えていることと、方向が違い、余り参考に
なら無いと思うかもしれない。先輩上司など社会経験のある方に私の言った、仕様面のことを相談してみてください。
    • good
    • 0

accessをどうしても使用したいのでしょうか?



excelでの管理もピボットを使えば可能となります。
(1)個人情報のリストをピボットにかけます。
(2)ピボット枠の左に氏名と住所をプロットしましょう。
 これで氏名と住所が同じ人が集計されました。
(3)このピボットの知りたい人の氏名をダブルクリックすればその人の検査結果が一覧で別シートに出力されます。

※あらかじめ(1)でリストに対するピボットの範囲を指定するときにかなり行を多めに選択しておけば、そのリストに打ち込んでいった内容は、ピボット右クリックででてくる「更新する」で更新されていきます。
※個人情報のリストにあらかじめ氏名のよみがな頭文字をフィールドとしても作っておけば、ピボットによみがな頭文字プロットすることで あいうえお順になります。

参考までに。
    • good
    • 0

例えば去年受信したであろう人を今年のデータから抽出するには



今年の受信テーブルの名前の抽出条件欄に
In (select 名前 from 去年の受信テーブル)

生年月日の抽出条件欄ににも
In (select 生年月日 from 去年の受信テーブル)

2つの条件はANDになるよう同じ行に書きます

ただしこれでヒットする可能性は100%ではありません
今話題のどこかのお役所がやっていることと同じですね
    • good
    • 0

アクセス(データベース)では、リレーションの鍵となる「主キー」が必要となりますし、項目が正規化されている必要があります。

2つの項目を結合した「連結キー」も主キーとして使えますが、名前+生年月日で連結キーを使用したくとも、場合によっては複数該当する場合がないとはいえませんのでお勧めできません。なんらかの「個人ID」が必要になってくると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!