[三流君] −−> [プログラマー業務の愚痴] −−> [バックナンバー一覧]
−−> No.028 Access97 画像リンク処理(埋め込みでMDB肥大を防止?)

Access97 画像リンク処理(埋め込みでMDB肥大を防止?)


本文(発行内容)


<Access97 画像リンク処理(埋め込みでMDB肥大を防止?)>
目次
1.はじめの挨拶 
2.読者よりヒントメール来ました
3.単体テスト用に作成してみますか、、、
4.モジュールの解説、、とイベントって?
5.積み残し、、、あったらいいな、、、
6.おわりの挨拶
----------------------------------------------------------------------------
/*
 * 1.こんにちは
*/
こんにちは。

今回は、前回読者からいただいた、
ヒントを利用して、
Access97 画像リンク処理(埋め込みでMDB肥大を防止?)
をやってみたいと思います。

*なんか、サンプル、、そのまんまじゃん、、、

読者数も、解除・新規登録を繰り返して?1000人突破しました。
*まぐまぐの読者数1000人って、まだまだ、少ないみたいです。
 (すごく、下のほう)
 喜んで、ランキングのページ見に行った、自分がはずかしい。。。
 マニアックな読者を減らさないように、がんばります。
 おまえだけが、変り者だって、、、あっ、そうですね。。。

↑今(2002/12)、870人かなり減った(笑)
/* * 2.読者よりヒントメール来ました */ 読者さんより、Access画像管理のヒントメールいただきました。 >フォーム,レポートで・・・ >---------引用--------------------- >実行時にイメージコントロールの Pictureプロパティにファイル名を >セットするという方法を使っています。 > >具体的には >画像を任意のフォルダに入れておいて > >イメージ.Picture = strPath & 部品名 & ".jpg" > >を実行します >strPath は任意のフォルダです。 > >この場合画像のファイルの名前を特定できるように"部品名.jpg"等にする工夫は >必要です。 > >テーブルに画像を入れるとMDBが巨大になるのであまりお勧めできません >---------引用終わり------------- サンプル作成して、試してみたいと思います。 /* * 3.単体テスト用に作成してみますか、、、 */ さて、ヒントをもらったので、 単体テスト用に作成してみますか、、、 ( hosoku/028/index.htmlに画像付きあります) 目的 大きなプログラムや処理を作る前に、 イメージ.Picture の使用方法を見てみたいので、 簡単なテストプログラムを作成してみる。。。 (同時に、ヘルプなどを見て、自分なりに確認してください。) 内容 簡単に(手抜きで)、 フォームを1つ作成 ファイル名入力用のテキストボックス作成 画像表示用のイメージコントロール作成 で、いいかな。。 作業開始と試行錯誤、、、(こんな簡単なので、試行錯誤してしまった、、、) まず、適当な名前で、Mdbファイルを作成します。 ここの名前のつけ方で、センスや想像力、、語学力(単語知ってるか)、 わかっちゃうんだよなぁ、、、 テメエのセンスは?最低ランクだなぁ、、、 ほっといてくださいね。 次に、フォームを新規作成します。 まぁ、ここまでは、順調です。 次に、イメージコントロールをフォームに貼ります。 貼りつけ時、勝手に、画像ファイルを選べ、、と出てくるので、 適当に選択します。(もしかして、キャンセルでもいいかも) ( hosoku/028/index.htmlに画像付きあります) 画像が、挿入されます。 プロパティを変更します。 ・コントロールの名前を付けます。ここでは、日本語で図としました ・ピクチャータイプを埋め込み-->リンクに変更します ・あとは、サイズなどを適当に、、 *いろいろ、プロパティを変えて、違いをテストしてみてください。  配置・全体表示など、、、イロイロ面白いですよ。 次に、画像ファイル名入力用のテキストボックスを作成します。 プロパティ 名前を、画像ファイル名とします。 イベントの更新後処理にモジュールを書きます(まぁ、テストなので) me![図].Picture = me![画像ファイル名] として、 入力されたファイル名の画像をリンク表示するように指定します。 右ボタンのビルドって便利です? モジュールの入力中に右クリック・ビルドを選択します。 オブジェクトの構造が、階層で表示されます、、 なれないうちは、便利ですよ(だんだん、入力したほうがよくなるけど、、) ( hosoku/028/index.html#011に画像付きあります) さて、テスト実行だ、、、あれ、、エラー、、、だ、、 いつもの勢いで、test.bmpなんて、いれたら、 ファイル名が無かった、、 押したくないけど、デバックを押す。。 ( hosoku/028/index.html#015に画像付きあります) 変数名にマウスカーソルをあわせると、値が表示される、、、便利ですね。 *デバックモード嫌いなので(Ken3は、変り者だから、、あまり活用していない、、) 下記のファイル存在チェックをモジュールに入れました。 If Len(Dir(Me![画像ファイル名])) = 0 Then MsgBox Me![画像ファイル名] & "ファイルが見つかりません、確認してください" Exit Sub '途中で抜けます End If まったく、手抜きするからテメエは、、、テストだから、いいジャンね。。 気楽にいこうよ、、、デバックモード便利とかわかったジャン。。 テスト実行、面倒ですが、フルパスでファイル名を入れてください。 例)c:\windows\セットアップ.bmp , d:\001.gif など、、 何回、実行しても、MDBのサイズが変わらないことを確認して、 テストOK。。。 読者のヒントメールに感謝です。 オイオイ安心するな(ご指摘)/う〜んまだイマイチここは(質問) などあったら、掲示板に、気軽に書いてください。 /* * 4.モジュールの解説、、とイベントって? */ 今回、フォーム・テキストボックス 画像ファイル名 の更新後イベントに、下記のモジュールを追加して、処理しました。 ---- Private Sub 画像ファイル名_AfterUpdate() 'ファイル存在チェック If Len(Dir(Me![画像ファイル名])) = 0 Then MsgBox Me![画像ファイル名] & "ファイルが見つかりません、確認してください" Exit Sub '途中で抜けます End If '画像のセット Me![図].Picture = Me![画像ファイル名] End Sub ---- モジュール内のポイントは、 Me![図].Picture = Me![画像ファイル名] とすると、入力されたファイル名の画像を表示できるのと、 If Len(Dir(Me![画像ファイル名])) = 0 Then でファイルの存在チェックをしています。 *1つ言ってよい?  また?ですか、、いいですよ。  ファイルの存在チェック、、これ、c:\aaa.txt とかテキストファイル指定されたら、  どうなるの?  あっ、、、なんか、お腹が痛くなってきた。。。  (エラー処理って、深いですよ、、、みなさんも、よく考えて、、想像して、、) 全体のポイントとして、イベント処理があります。 パターンとして、なにかしらのイベントが発生したら、 それに対して、処理を行う、、ような感じです。 新人君、仕事しないで、ボーットしてる(指示待ち/イベント待ち) *まぁ、息すって、何かしら動作待ちしてますね。 会社の外線・内線が鳴る、、無視する(このイベントには反応しない) 自分の携帯が鳴る、2コール以内で反応、外に出て受け処理に入る (イベントに対する、処理がある) XX君チョットと呼ばれる、、イヤイヤながら、ハイと返事する、、 定時5分前、、帰りの準備イベントが発生(タイマーイベント?) って、感じで、人それぞれ、いろいろなイベントに対応して、 動作をしてます。(そんな、単純じゃないけど、、、) Accessやほかのシステムでよく、見かけるのが、 ボタンなどのクリックイベントです。 実行ボタンが押されたら、この処理を実行などのモジュールが記述されている。 またまた、前置き、長かったですが、 今回は、入力されたファイル名が、変更されたら、画像を変えたかったので、 フォーム・テキストボックス 画像ファイル名 の更新後イベント AfterUpdate() にモジュールを書いて処理しました。 書く、モジュールのタイミングなど、 msgbox "更新後呼ばれました" など、入れて、試してみると、いいかもしれません。 枠外解説・グチ --- イベントの優先順位 イベントには優先順位があります。 更新後イベントが発生する前に変更時イベントが発生するなど、、、 レコード更新後イベントでキャンセルイベントを発生させるなど、 イベント処理、奥が深いので、別の機会に詳しくやりたいと思います。 例)データ登録時、在庫を確認して、無ければエラーメッセージを表示して、    登録イベントをキャンセルするなど、、 例)新人君、残業イベント発生、、女の子に電話、、予定があったら、    残業イベントキャンセル /* * 5.積み残し、、、あったらいいな、、、 */ 簡単な、テストを作って、感じたこと。。。 サイズが大きい画像や小さい画像をうまく表示したい。 まぁ、写真など、画像のサイズが決まっていれば、問題無いんだけど。 *イメージデータのサイズを自動的に調整したいな、、、と思った。  もしかして、プロパティでできるのかな? あれ、これ、違う質問で、BMP,JPGのサイズを知りたい、、につながるかも。。 前回のパラメーターを保存したい。 一回フォームを閉じると(再立ち上げすると) 入力エリアが空白になる、、前回の値を保存。。 これも、、どこかで聞いたような。。 あとは、テーブルを作成して、 実際の社員マスターと画像ファイル名でリンクして、 MDBが肥大しない、、ですね。。。 簡単な質問・要望、、待ってます。 枠外解説・グチ --- 素人のフリをしたプロ? 最近、質問受けるのですが、どうもわかってて聞いてる人、いるような気がする。 *ホントの素人さんの質問もあります。。気を使い過ぎかなぁ? 客先でも、たまにいるのですが、 素人のフリをしたプロ? やっかいです。 知ってて、わからないフリをして、こちらの実力を試している? なんか、客先のできる担当者に誘導?されたみたいに、、 いろいろコントロールされてるような? そんなに気にしなくても、テメエの実力なんて、わかってるって? そうですよね。。。 /* * 6.終わりの挨拶 */ 今回、目的の処理を達成するために(達成してませんが) 簡単なテストプログラムから作成してみる、、、 こんな開発手順もあるんだ、、と感じてくれれば、、、 質問・要望・アドバイス・・・・ご指摘など あったら、掲示板に気軽に書いてください。 素人のフリしたプロ・ホントの素人さんのなんでも質問・要望メール大募集です。 では、また。 今日は、BBS・掲示板めぐりでつかれた 三流PG Ken3でした。


ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、

リンクや広告など

項目別に本音?それとも建て前?的な記事をまとめました。

気になったジャンル↓を選択してください。
[ルーキー rookies]・・・ 新人さん達 初心者さんへ
[学ぶ study]・・・学習、技術の取得
[仕様書 doc]・・・仕様書・設計書関係の話
[共同作業 team]・・・チーム、グループ作業
[プログラムは心? spirit]・・・プログラマー 心・気質・魂

[掲示板デビューしようぜ bbs]・・・掲示板関係の話、質問者・回答者の気持ちほか
[昔はできた seo]・・・三流式の効果無しSEOとアフィリエイト
[仕事や作業、転職 job]・・・仕事や転職、評価、作業など
[その他 etc]・・・その他 分類外の記事

※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。
※※読んで、気分を悪くされたらスミマセン。

Blogとリンク:[三流君の作業日記]/ [愚痴(Bookmark)]/ [広告Blog(Bookmark)]



[三流君(TOP ken3.org へ戻る)] / [プログラマー業務の愚痴] / [バックナンバー 一覧]