今日、AccessのDBから、Webで表示するデータへの変換をやりました。
Accessは、フォームを活用して、Excelで書いて紙に印刷して管理してた情報を
電子化したもので、以前のデータが活用できると好評です。
さらに、Webで見れるように、という話だったのですが、データの連携ができずに
手作業でアップすることに。
最初からトータルで組めば、いいものができたと思うのですが、プロに依頼すれば
費用もそれなりな仕組みです。地方の小規模な大学には、そんなお金は無いので
職員が手作りすることに。でも、それなりに便利な仕組みができました。
年に一回、AccessからWebにアップするくらいなら、と受けて、ちょこちょこって
Excelを操作して、アップするCVSを作成しました。
ネックになったのは、Accessのフォームのラジオボタンで実装した箇所。
ここは後から仕様を決めたので、Web側は文字列で格納し、プログラムで表示していた。
Access側は、ちょうど4つの「TURE」または「FALSE」がある訳だが、そこから
TUREに該当する分類を「、」で区切った文字列を作る。これをExcelの関数で書くには
どうするか。
私は、2つづつ文字を作っていき、最終的に4つ分の文字を作ることにしました。
こんなif文で場合分けしていきます。
=if(and(C=””,D=””),””,if(c=””,d,c))
こういうのは、どんな言語でもプログラムを書く人ならよくやるifの入れ子ですが、
Excelのセルの中に計算式として組み込むには、ちょっと複雑かな。
まあ、一行分作ったら、あとはコピペするだけなので、データが多くても使えます。