コンピュータ環境 (2016/06)

最初の書き込みへ

基本の環境はこちら

2016年05月の環境
戻る


時系列・環境の変遷


 

2016/06/26 (Sunday)
国際小包料金計算

 以前から時々使ってみようかという話になって、そのたびに表を見ていたのですが、プログラムで自動計算させてみるかみたいな。

 まず、料金表のデータを打ち込みます。航空便・SAL便・船便それぞれ第一地帯から第四地帯まで、重さは500gから30kgまで、航空便は10kgまで500gきざみ、あとは1kg刻み、SAL便と船便は1kgから30kgまで1kg刻みでレコード数あって結構大変。
 2回に分けて打ち込みました。

 それから国マスターにそれぞれ第一地帯から第四地帯のコードを入力。これも200レコード以上の国/地域がありますが、レコードの並び順が表とほとんど同じなので案外簡単に入力できました。

 最後にこれを参照して計算するプログラムですが、案の定というか一発で正しい答えは出ず、いろいろ直してやっと正解を表示するようになりました。

 結局、5kg以上の場合は小口に分割して送った方が安いということが判明。分かっただけでも良しとします。

 ただ、サイズがでかくて軽い場合はEMSより安くなるので、提案できるようにしておく意味はあります。

 おお、そうすると、現在5,000g以上の場合にのみ自動計算させているのだが、チェックボックスを追加してみなし総重量とは関係なく強制的に計算させるよう仕様変更しなくてはいけない。


2016/06/19 (Sunday)
裏日記

 この日記のほかに、ブログを4個持っていますが、どれも商売とかニュースとかを扱ったもので、私的な日記というのがありません。

 そこで、作ってみることにしました。やはり、ACCESS のメモフィールドです。

 今回、ほとんど全部フォーム・ウィザードで作って手を入れるという形にしたので、半日かからずプロトタイプはできましたが、なんだか動きが変で安定させるのに3日くらいかかりました。

 例によって、親フォームに表題を羅列して、サブ・フォームに入力欄を作ったのです。そして、親フォームにボタンをつけて、「新規作成」としました。このボタンを押下すると、まずテーブルの新規レコードに移動して、サブ・フォームの入力欄にフォーカスする。サブ・フォームのレコード追加前処理でキーを生成する。という処理がうまくできず。

  • 確かにレコードは作成している。
  • 親フォームに新しいレコード番号を表示しない。
  • ボタン押下後、サブ・フォームの入力欄に SetFocus しない。

 最初のは問題ないとして、2番目以降は何とかしないといかんということで何度かいじって、結局キーの採番をボタン押下、レコード移動後にやってしまい、2番目の問題は続く行にMe.Refresh で解決しました。

 しかし、最後のサブ・フォーム内のフィールドに SetFocus することはいまだにできないです。理由は謎。

 めんどいのでマウスでポイントして凌いでいます。これだからなあ。


2016/06/26へ

2016/06/12 (Sunday)
イベント・スケジュールの入力画面

 イベント・スケジュールの表示画面が増えると、データを入力するのも面白くなって、あちこち調べてスケジュール・データを入力するのですが、これが結構大変。

 ジャンル・マスタを初期設定していないので、新ジャンルが出るたびにレコードを追加しなければならないし、会場マスタも以下同文。

 ジャンル・マスタについてはかねてからサブ・フォームに連結データを表示して入力できるようにしてあるのですが、これがどういうわけかフォーム内で自動的にレコード移動しない。

Docmd.Gotorecord, acNewRec 

 が無視される。しかたない、レコード移動ボタンを表示されて手動で新規レコードに移動して追加していたのですが。

 ふと思いついて、フォームのプロパティを入力専用に変更して解決しました。原因は不明。

 会場マスタについては、もうフォームに余裕がないということで、ポップアップフォームにして、追加ボタンを押すとフォームを表示させて追加できるようにしました。
 こちらはもうほとんど入力してしまったのであまり使わないからそれでいいんじゃないのみたいな。

 開催日付には「複写」ボタンをおいて、いったん入力したら、同日開催ならボタン一発。会場選択も同様に「複写」ボタンを装備。もう最強ですよ。

 これまでは、大体一月先をめどに入力してたのですが、今回はもう7月末まで入力してしまいました。早い、早い。


2016/06/19へ

2016/06/05 (Sunday)
方向転換・イベント・スケジュールのジャンル

 Javascript の中折れ本は実によくできていて分かり易く好みでした。

 それはよかったんだが、読んだり調べたりして分かったことには、言語仕様として、ファイルを読み込むために開く場合、ファイル名はブラウザで操作員が指定しなければならず、プログラム内に直値で書き込むことができないことが分かりました。

 これでは、ジャンル別のイベント・スケジュール・ページを動的に表示するために、データ・ファイルを参照することができないではありませんか。

 仕方がない、サーバーサイドの機能をサポートする PHP か Perl で書くしかない、それだったら少しでも知っている Perl が無難か。とか思っていましたら天啓が降ってきました。

 最初はあくまでもつなぎの弥縫策のつもりだったのですが、イベント・スケジュール・ページを作成するときに、同時に存在するすべてのイベント別スケジュール・ページを作成しておいて、イベント・スケジュール・ページのイベント一覧のコンボの値にページ URL を格納しておき、選択したら表示すればいいという、静的方法。

 これならお手の物の VBA で全部書ける、とすぐに作業して作ってみたところ、フォームの OPTION VALUE = に直接<A HREF="hoge.html">などと記述してもだめと分かりました。しかし、ファイル名を書いておけばこれを Javascript に渡して、新しいページに表示することはできるし、もともとそれは Javascipt の言語仕様でしょう、とまた少し調べて作業して簡単な関数で実現できました。

 こうなると人間満足してしまって向上心がないから、最初の動的作成案はどこかに行ってしまったという雰囲気です。


2016/06/12へ

2016/06/02 (Thursday)
イベント・スケジュールのジャンル、取り敢えず挫折

 ここまで仕様を詰めて、いざコーディングの段階にはいりましたら、Javascript の言語仕様は、ファイル i/o で、選択するファイル名の決めうちができないという (= 必ず操作員が選択した値でないといけない) と規定されていることが判明して、あっさりと挫折しました。

 何をやってもできないことはできないのだからしかたがない、ととりあえず言語を PHP に変更。

 要するに、やりたいことがサーバーサイドかクライアントサイドなのかの問題の切り分けをいい加減にした付けが回ってきたということで。

 せっかく買った技評の参考書もこれで本棚入りです。

 Perl でもできるというけれど、あれなら少しは齧ったことがあるから、Perl でやろうか考え中。

 とにかく今日、明日は進捗なにもないでしょう。


2016/06/05へ

2016/06/02 (Thursday)
続・イベント・スケジュールのジャンル

 作ったマスタの編集画面を組み込んで、イベント・スケジュールの入力に使えるようにしました。そして、現在表示している(作業日以降に買いさ入れる予定の)レコードを全部編集しなおして、マスタを参照するようにし、さらにスケジュール表を作成するプログラムも同様にマスタを参照して作成するようコードを変更しました。

 マスタには原則すべてのイベントを開く登録したのですが、今、「その他」を作っておいて、その他の場合は全文を続くリテラル・フィールドに記入し、そちらを参照させてもよかったかもと後悔しています。先に立たないですね。

 そして、続いてそうして作成したイベント予定一覧のページにフォームを設け、コンボ・ボックスを一つ作って、内容に、現在表示されているジャンルを羅列させるところまで進みました。

 これからいよいよ Javascript のコードを書き始めて、

  • コンボ・ボックスで選択されたジャンルコードを得る
  • 表示しているのと同じディレクトリにあるファイルを読み込んで、ページの骨格を作る
  • 該当するジャンル・コードのイベント行だけを表示する
  • ページを表示する

みたいな作業をさせようと思っていますが細部はまだ固めていません。

 なにしろ、Javascript で、ファイルを開いてレコードを読み込む方法の細部がまるでわからないのですね。どうも、テキスト・データとして一行丸ごと読み込むか、ファイルのタイプを得て、そのタイプ(例えば画像)により、読み込み方を変えてデータを得るという方法のようなのです。つまり、これまで basic で慣れ親しんできた、フィールド区切りによる1レコード内に複数のデータを持たせて複数の変数に読み込むことができるのかどうか、今のところ分からない状態なの。

 調べるのもいいけれど、ここはひとつ大系的に情報を得ようと思って、昨日、書店で Javascript の参考書を何冊か立ち見してみました。ほとんどが入門書で、ファイル操作に触れてすらいないというから半狂乱状態。だって、プログラムってファイル i/o が基本じゃね?とか。でも、Javascript は違うもん、www に特化した言語だもん、みたいな。
 やっと何冊か、高度な読者を対象にしたものでファイル i/o について触れてあるものを見つけましたが、欲しい情報が記述しててあるものは無かったので、手ぶらで帰りつつ、そういえばオライリーの犀本は観なかったことに気が付いて、帰宅してから調べてみました。

 これも、尼での評価は今一つで、値段もあれだしと思い、ぐぐるってみたところ、どうやら技評の「パーフェクトJavaScript」通称(?)中折れ本(スマフォ以前の携帯電話が表紙になっている)がいいらしい。ということでヨドバシカメラに通販・店舗受け取りで注文したところ30分で準備ができましたという報告がありました。

 明日、取りに行って読んでみます。果たしてどんな内容なのでしょうか。楽しみなような恐ろしいような。


2016/06/02へ


最初に戻る
戻る