2019年5月29日水曜日

Accessの実装は整理整頓が大事(自己反省と雑記)

雑記です。

最近、ちょっとしたツールの作成にAccessを使いだしています。Accessといえば開発入門の時によく使っていましたが、仕事として業務システムを開発するには危なっかしいイメージがあり採用することはほとんどありませんでした。

今回、利用者1名でExcel管理に毛の生えたようなレベルのツールを作るためにAccess採用。作っていくうえでオブジェクトが増えすぎて煩雑になってきたので自戒の意味も込めてAccessを使う上での整理ポイントについて個人的な考え方をまとめておきます。

なお、ちゃんとしたシステムであれば、画面遷移図やら各種オブジェクトの一覧、設計書なども作るでしょうし、各種命名規約もきちんとしていると思いますので、今回のケースはそんなきっちりしないで「ざっと」作るときにでも注意しておいた方がいいですよ。というレベルの情報です。

【登場人物】
Access データベースファイル
フォーム、レポート、テーブル、VBAプログラム、マクロ

【これをやっておけば何とかなる】
命名はきちんとね。

【整理せずに進めて困る可能性がある事例(やらかしたこと含め)】
・テーブルの分類が不明
 マスタなのか、トランザクションなのか、ワークなのか
・フォームの用途が不明
 入力フォームなのか、処理フォームなのか、サブなのか
・レポートの呼び出し元が不明
 単体で呼び出せるが
・活きているオブジェクトなのか、試作なのか不明
・そもそもソース管理が

【これだけはやっておこう】

テーブル

接頭語くらいはつけましょう。必ず「作るときに実施」
後で変えてもAccessが良きに計らってリファクタしてくれるようですが、してくれない箇所もあります。(ソースへの記載は当然ながら変えてくれません)

フォーム

ある程度のカテゴライズは事前にしておきましょう。
考えられるカテゴリとしては
メニュー:画面遷移だけするもの
入力フォーム:データの登録、修正するもの
サブフォーム:入力フォームの中に組み込むもの
サブ画面:入力フォームのサブ機能をもつもの、処理指示など
個人的にはいわゆる「接頭語」と連番でまとまるのが良いと考えてます。

例) xxxxはわかりやすい日本語名
メニュー:FM連番xxxxxxx
入力:FI連番xxxxxx
サブフォーム:FI連番SUB連番xxxxxx
サブ画面:FS連番xxxxx

クエリ

作成する数も多いのでこれが一番散らかります。
【決めごと】
画面、レポートなどのオブジェクトに対応するものは同じ接頭語をつける。その後に詳細用途
例)
FI連番SxxxxxxForm
FI連番Sxxxxxxcboxxx ※セレクトボックス
FI連番SxxxxxxListxxx
FI連番Ixxxxxxx (Insertクエリとか)
FI連番SxxxxxxXXXXQuery

長くなっても、用途がわかった方が良い

共通はCOMxxxとかでいいんじゃないかな。
間違っても、日本語名だけではやらないこと。絶対にあとでわからなくなります。

クエリのネスト
クエリでクエリを参照することはあると思いますが、その時に命名をどうするかは悩ましい。私の場合には1処理でネストする場合のみSub1,Sub2とかで命名します。
既にあるフォームで作成しているクエリを参照したい場合、面倒であっても
作成済みクエリを直接参照するのではなく、新規クエリで作成済みクエリを参照するようにしています。

レポート

ID命名と、メインかサブかがわかればよいのではないでしょうか。
フォームから呼ぶのであればフォームと同じ連番をつけておけばOK

マクロ

個人的にはあまりなじみがありませんが、連番が合っていれば間違えないかと。

VBA

いわゆる個別処理か、共通処理かでモジュールは分けると思いますので
あとは一般的なコーディング規約でいいのではと思います。

まとめ

だらだらと列挙しましたが、結局のところ「命名」に尽きると思っています。
後で見た時、またはほかの人が見た時に相関性がわかるのが重要ですね。

余談

私の場合、ある程度作り込んだ後はデータとプログラムのファイルを分けてます。
プログラムのファイルからデータのファイルへリンクを張ることで実現。
プログラム改修などの際にはプログラムファイルだけを更新すればよいため利便性が高いです。

2019年5月22日水曜日

【注意喚起】佐川急便を騙った迷惑メールにご注意

佐川急便の不在通知を偽装した不正サイトへの誘導を受け取ったので、注意喚起のため記事にしておきます。

まとめ

あやしい情報を受け取ったら、「無視する」「ネットで調べる」「進む場合セキュリティに十分注意する」

#検索用キーワード 090-7447-6454 bt-ar.top 佐川急便 貨物追跡サービス apple.varifidogione.com

ことの経緯

普通に、社用の電話のSMSにメッセージが届きました。 ↓こんなの

bit.ly 自体は短縮アドレスなのでこの時点で怪しいことに気付くのは難しい。
携帯の番号をネットで検索しても、特に怪しい情報は見当たらない。

念のためスマホからのアクセスは警戒して、パソコンからアクセス(当然シークレットモードにして)。すると・・・


なんだ、佐川さんじゃないですか(この時点でドメインが怪しかったのに気づかずスルー)



ページを進めて確認してみると、アプリのインストール手順を教えてくれているんですね
提供元不明のアプリを許可せよ。と。まぁ最近はちょくちょくあるケースですね




さらに進む。貨物追跡サービスアプリか・・・。要らないなぁ



マニュアルはご丁寧。ん~。まぁ関係ないかな。必要あれば電話来るだろうし


っというわけで、スマホでも見てみるか。。。

ここまでで怪しかったこと

いくつかございます。間違え探しは後半にて


スマホでリンククリックしたら怒られました。(やっぱりそっち系だったか)

このケースの注意喚起は、ここで止まればまだ問題なく終えられる可能性があります。
この時点でアプリを強制終了。
警告画面の裏側には先ほど見ていた佐川急便のサイトらしきものが見えます。

その後色々調べてみた

この、apple.verifidogione.com というドメインも、謎のものでした。
この迷惑メールの正体を少しでも調べてみようと、PCサイトを再度確認




ドメイン登録を確認(bt-ar.top)


Domain Name: bt-ar.top
Registry Domain ID: D20190520G10001G_09522758-top
Registrar WHOIS Server: whois.bizcn.com
Registrar URL: http://www.bizcn.com
Updated Date: 2019-05-20T11:40:05Z
Creation Date: 2019-05-20T10:53:39Z
Registry Expiry Date: 2020-05-20T10:53:39Z
Registrar: BIZCN COM  INC
Registrar IANA ID: 471
Registrar Abuse Contact Email: abuse@bizcn.com
Registrar Abuse Contact Phone: +86.5922577888
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: addPeriod https://icann.org/epp#addPeriod
Registry Registrant ID: 
Registrant Name: 
Registrant Organization: Sun Xiao Li


おもいっきし中国だし、5/20取得だしさらには



お知らせが2018-07とか、2018-08 だし

佐川急便さんのサイトを丸々コピーして構築したのでしょうね。

自分は半分引っ掛かりましたが、最近はこんなケースも出ているようです。
皆様お気をつけください。

追伸

佐川急便さんではすでに注意喚起をサイトへ掲示していました(クリックすると別ウインドウが開きます)
佐川急便を装った迷惑メールにご注意ください