関工健児誇りあれ!?

下関のブログです(^^)v 明日見村 MotoG5Plus Windows10 Kindle iPhone Access Excel VBA ALCATEL IDOL4 Zenfone2 ZE551ML CHUWI Hi8 目標は?100kb/s でも読めるアホblog です

ACCESSからEXCEへ出力!VBA その7 アクセス講座 リンクテーブルマネージャ

ACCESS から EXCE へ出力!

VBA その7 アクセス講座

    Set DB = CurrentDb

こちらの説明!

DAO、ADO、ODBC、Jet、などなど接続方法はイロイロです

なんだかチンプンカンプン!

そうですネ!

細かいことを云えば、それぞれにメリット、デメリットはありますが、、、

そんなの覚えなくても良いのです

繋がる! これが大切!

折角、ACCESS 使っているのに、リンクテーブルマネージャ を使わない手はありません

 

これ何か?

DB、APP、2つを分離しましょうって以前カキコしました

この時に、APP側には、本体のテーブルが有りません

このDBにリンクを貼ってしまえば良いのネ!

 

これで、リンクを貼ると、このAPP のカレントデータベースとなる訳です

接続のゴチャゴチャは、WindowsPC なら ms さんデス、この方たちのツールに任せてしまえば良いって考え!

これだと、意外と変な事にはならないです

例えば、db接続するのに、ADO.ver、Jet.ver のバージョン、記述方法など固定化すると、何かの拍子に引っかかる事があります

Office のバージョンアップ、アップデートファイル、サービスパック、などなど

お任せ出来る所は勝手にやってもらいましょって事!

見た目もシンプル、プログラムも汎用的に使えます

 

リンクを貼ってカレントDBを使う

CurrentDb

そういう事です

 

コレ以外にも、不思議な記述があるでしょ!

例えば、正規表現しないとか、、、

まぁ正規表現がイマイチ意味が分かりませんが、、、

 

よく見かけるコーディング

何かの接頭語、Prefix を付けるでしょ

これ、社内ルールとかイロイロ有りますが、元々は学校で教えられた教科書的な発想なの!

異論はあるとは思いますが、実際の現場では、こんな事で上手く作業が進まないなんて良くあります

 

例えば、数値を定義、int

Dim intResultbox As Integer

最初の打ち合わせでは、4桁数字で良かったのですが、後になって、8桁、、、

いやいや、文字型にしないといけなくなった、、、などなど

変更をお願いしたら、今更、出来ません、、、みたいな事、言われたことないですか?

そう、、、

ユーザ側に立った記述では無いのです

頭に、int、lng、txt、など本来必要もないのに、それが分かりやすいと錯覚してるダケ!

残念ですが、この傾向はどこの会社にもあります

何が問題か解らない?

数値型を文字に変更すると、、、

本来、プログラムでは定義だけを文字にすれば大体、問題なく処理されるハズです

ですが、int など付けてると、それを定義してる文字コーディング自体を全て見直ししなければいけません

intResultbox --> txtResultbox  お客さんには全く関係ないことですが、システム的にはそうしないと後で見た時に訳が解らなくなってしまいます

ダメなのは分かっているけど、修正できない

そして無理やり、、、なんて結構やります

そっ、こんなバカらしい事やる必要ないっと私個人は思っています

よって、そんなコーディングは自分のシステムの範囲であれば設計もプログラムもそんな事はいたしません

 

もう1つ、、、Goto RTN_xx

    If i < 1 Then GoTo sheet_11

構造化は昔から云われる話ですが、これも度を超えると意味が不明になってきます

ムダな処理を1回ではじける(If 文など)のに、Goto 文を禁止してると、それだけで意味なく、構造化が次々生まれ、元の値を参照する為に Public 領域や、モジュール共通領域の Private を沢山必要にしてしまいます

昔の方のプログラムは結構スゴくて、メモリなど少ない時代のモノなので、限界に近いくらい効率よく組んでいます

そのかわり、デバックするのに時間もかかります

組み方によるっと言ってしまえばそれまでですが、そう言った本人の能力に依存しない様にプログラミングする上でイロイロなルールが存在します

今は、プログラマーと言うよりは、コーダー(書くだけのヒト)、SEは、プログラムすら組んだことが無いヒト、も沢山います

テストもしないので、データ入力もほとんどしません

こういった事が、ユーザに優しくないモノが出来上がってしまう正体です

 

確かに、異論はあるとは思いますが、、、

キチンとしたモノを作るのに一番効率よく動作するプログラム

これが、ユーザに喜ばれる事なのデス

 

教育としてのプログラム、学校は学校、実社会での実践はまた違うと言うことですネ

分かっているヒトも多くいるでしょうが、こんな下らない事すら元に戻せないのですから、これからコンピュータ関連の仕事をやりたいと思う方は大変でしょう

っとまぁ、、、余談が長すぎましたが、あくまでも私見でございます

それぞれでのルールに見合わない所は自分なりに修正して下さいっと言う事で、、、

学校や参考書とは違うけど、何でだろうって思われる方の為にカキコして見ました

 

DB からExcel に出力する基本パターンは大体、分かって頂けたと思います

次は、データを抜いた後、Excel だけで、いかに集計、編集が出来るかやってみましょ

AccessSQLExcel表計算!の違いも少々!

Excel はマクロを使わず関数だけでって所がミソなのネ

すこぉ〜し、頭をひねると意外と何でも出来ちゃいます

 

明日見むら

村長さんでした

(^^)vba

asumi-mura

by. EXCEL VBA Copy & Paste