2019年7月31日水曜日

アクセスで下手にデザイン設計するより、エクセルからアクセスのベタなデータベースを操作しながら試行錯誤した方が、改善改良が早いんじゃないの - ActiveX Data Objects (ADO)(そのほか・VBA)


    
最近ではウインドウズも64ビット版が当然になり、32ビット版は風前の灯。
市販のラップトップもタブレットも、メモリー4GBが標準で装備されています。

であれば、メモリー3GBが上限の32ビット版は、あんまり意味が無いのです。
個人的にドスパラの8.9インチタブレットを使っているけど、64ビット版。

こうなると、64ビット版でも起動に問題の無いアプリケーションが大切だな。
会社のPCは、未だウインドウズ7の32ビット版だけど、切替えはもうすぐだ。

64ビットのプロフェッショナル版になると聞きましたが、VBAはどうなるの。
通常のコマンドラインだと、持っているタブレットでも動いて問題はないはず。

ただ、最近ハマってしまった「ActiveX Data Objects (ADO)」はやばいらしい。
データソースのアクセスを目的に開発された技術で、中心はアクセスのデータ。

オフィス・プロフェッショナルを購入すると入っているDBのコンポーネント。
これで作られたデータベース(DB)を、エクセルからアクセスするとします。

まあ、ファイルを開かずにデータベースを検索したり書き込んだり、実に便利。
しかも、モバイルタブレットの制約から、複数のエクセルファイルが開けない。

なので、アプリのエクセルはファイルを一つ開き、後はデータベース接続です。
こうしたコンセプトで、タブレット利用のアプリケーション開発なんだよね。

それで、タブレットの携行性を活かす目的で、在庫管理など現場の帳票管理だ。
このような目的なら、ADO接続というのは、実に便利なんだろうと思います。

ところで、アクセスのDBと言いましたが、ネットで検索して気付いたことが。
それは、ファイル形式で拡張子で”*.mdb”と”*.accdb”の二種類があるんだな。

前者は、アクセス2003まで標準だった形式で、古いのですが未だに使われます。
要するに、昔に作ったシステムで運用できていれば、ファイル形式は問わない。

新しいファイル形式に変える必要も無いはずで、ただ困った点はVBAでの接続。
どうも、ADO接続は32ビット版までで、64ビット版にライブラリーが無い。

このmdbファイルには、設定で「Microsoft.Jet.OLEDB.4.0」を使用します。
ところが、64bit版Windowsにはこれが提供されていないということなんだ。

    
代りに、オフィス2007以降のファイル形式、accdb型を使わねばなりません。
接続するライブラリーも、「Provider=Microsoft.ACE.OLEDB.12.0;」なんだ。

ネットを見ると、ADO接続の紹介で両方のコードが紹介されて混乱しやすいよ。
始めて取組もうと思う人向けに、どちらを使えば良いかも紹介せずにいきなり。

なので、ADO接続については、64ビット版の”OLEDB.12.0”をお勧めしますな。
接続に関するコーディングは、ライブラリーの指定を換えれば言いだけで簡単。

このアクセスのファイルは検索機能が優れており、項目にIndexが付けられます。
このインデックスを使ったSeekコマンドが優秀で、Findより高速なのがグーだ。

定数で検索条件も指定できて、最初または最後のデータを取得したり出来ます。
この他、一致データの直前直後のデータも見つけられたりして有用性はあるよ。

というわけで、厄介なのは、アクセスでインデックス付きテーブルの作成です。
先ず、プレーンのデータテーブルはエクセルで作成しておいて、検索作業で必要となるインデックスの指定をアクセスで行わなければいけないようで、ちゃんとオフィス・プロフェッショナル版を購入して、アクセスを使い倒さないといけないのだというのが分かったのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2019年7月28日日曜日

ウインドウズタブレットでは、複数のエクセルファイルが開けないので、VBAユーザーは困ったことになったのでござる - 英語版Office2010(そのほか・インド)

ドスパラの8.9インチタブレット

大体、海賊版のオフィスをウインドウズタブレットにぶち込むのが無謀な試み。
しかも、VBAコーディングを書き込んだファイルでマクロを動かそうとします。

ここまで来ればキジルシかもしれないが、正規版の購入はお金がね(棒読み)。
しかも、業務の合間にタブレットで業務改善できないか、コードを書きます。

それで、何故そんなことを考えたのかと言うと、サイボウズの業務改善ソフト。
商品名は、kintoneで孫悟空の筋斗雲みたく、自由自在を標榜しているのかもな。

ただ、このプラットフォームは、クラウド運用がひも付きでネット経由になる。
アクセス環境が良くないと、クラウドサーバー間の通信に問題があれば大変だ。

会社でも、製造現場で最終検査の試験結果を登録するのに、使っていましたな。
ただ、登録時のデータ送信が遅く、これで本当に役に立つのかなあと思ったの。

なんか問題あるのかな?

しかも、クラウドサーバーの月額使用料に金が掛かるのを考えると無駄遣いだ。
他の業務連携も無く、単発業務に金をかけてぐらいなら、給与のベアを上げろ。

だってさあ、社内サーバーを見たけど、BCP対策(事業継続計画)が立派なの。
万が一の災害・停電に備えて屋内にコンテナ型の立派なサーバー室まで備えた。

しかも、全国に広がる当社製品は、このサーバーとネットを通じて交信中です。
となれば、社内電算システムはかなり高級で、社内LANで良いんじゃないのか。

構内は無線LANも確保されて、イントラネットサーバーでも問題ないはずだ。
結局、なんでキントーンを使ったのか分かりませんが、単なる目新し好きか。

大体、検査結果のデータベースなんて、エクセルで集計する程度のものでしょ。
それをスタンドアローン業務に導入なんて、誰かやりたくてやったんと邪推。

早飲み込みで飛び付いたとしか思えず、プログラムを書ける人が少ないからな。
手っ取り早く金を払って、既成ソフトに飛びつこうなど、安直すぎるチョイス。

思いますが、誰かVBAが書ける人がいれば、ウインドウズのタブレットで十分。
一方、自分は、以前VBAで在庫管理用にバーコードリーダーで遊んでいました。

仕事中、暇な時には、バーコードをエクセルのシートに表示させたりしていた。
まあ、リーダーは飛び切り格安を購入してもらったけど、会社はケチン坊なの。

参照設定が必要だよ

なので、タブレットは自腹を切って購入してドスパラの8.9インチタイプなんだ。
だから、大手を振って手すさびにVBAコードで実験すると困ったことが起きた。

それは、ウインドウズのタブレットモードは、マルチウインドウができません。
エクセルのブックを複数開くことが出来ず、開くとタブレットがフリーズする。

二つのアプリを並べるスナップ機能も可能ですが、アプリが違うのがミソです。
シートの二つはダメで、これって英語版オフィスをぶち込んだせいかもなあ。

とにかく回避しないといけなくて、考え付いたのはCSVファイルでデータ取得。
今まではバーコード読取りフォームとデータファイルの二つを読み込みました。

今回は、データがCSVファイルで、ADO(ActiveX Data Objects)で接続致します。
これは、Microsoftが提供するソフトウェアびツールでデータベースにアクセス。

OLE DBを、ActiveXコントロールで使うプログラミングインターフェースだと。
よく分からんけど、エクセルからは、CSVを開かずに直接接続してしまうんだ。

これまでデータベースをエクセルシートで作って来ましたが、変えちゃいます。
この新しいDB管理方式を採用すれば、SQLやアクセスで後方支援が簡単です。

というわけで、ADOとかいう手法のコマンド群を、改めて勉強している最中ね。
エクセルからCSVファイルに接続してデータを取り出してくるのは、もちろん、並び替えとか、データの追加とか、VBのコマンドとは、一風違った印象を持ちましたのでツボを抑えてしっかり勉強すれば、絶対、役に立つのではないかと思ったのでした。


おまけ:
ADO(ActiveX Data Objects)について、役立つネットの参考文献は少ないかも。
ですので、下記に参考になるサイトを挙げておきます。

ADOレコードセットを操作しよう!1(エクセル大事典)
ADOを使って、CSVファイルを読み込む - VBA
ActiveX Data Object : ADO入門講座



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2019年7月25日木曜日

プロレスみたいにさ、マーケットに登場すると、BGMでYMOの”RYDEEN(雷神)”が流れるような気がする - AMD Ryzen5 3600 CPU (そのほか)

アニメの勇者ライディーン

発売前、新しいAMD Ryzen5 3600 6コアCPUのベンチマークがリークされた。
インテルCPU、Core i7-8700Kをたった199ドルでノックアウトと驚異だな。

だって、インテルのはグラフィック内臓といえども四万円以上でかなり割高。
英語の情報記事をグーグルAIで訳してみたら、何だかわくわくして来ました。

だって、AMDのCPUでパソコンを作り続けてきたのだから愛着は計り知れない。
このAMDなるメーカーは、インテルの互換CPUを開発してきた企業で有名です。

個人的には、二十年以上も前、Am486の互換CPUでPCを組み立ててみました。
既にインテルのペンティアムが主流の頃、マザボもCPUも入門用の486世代。

ただ、それでもかなり高速で、当時、実用上は問題を感じないほど優秀でした。
その後、K5, K6、K6II、K6III、Athlon、Duronなどなど、色々と使ったんだ。



その後、しばらくPC自作を休んでいましたけど、PhenomIIから再開しました。
じゃんぱらと言う中古PCパーツ屋で買い揃え、コスパの良いPC作りをします。

でも、インテルの方は、中古でも高価でモデルが多いし頻繁に改良されました。
このため、同じCPUでもマザボのバイオスを変えないと動かないケースもある。

新シリーズのCPUが発表されると、ピンアサインの変更で、マザボも変ります。
どのCPUにどのマザボが載るのか、店に問い合わせたり調べたりが面倒くさい。

そうなってくると、それほどモデルチェンジが頻繁でなかったAMDに目移りだ。
まあ、AMDはCPUソケットの規格を余り変えずに、製品を投入し続けました。

と言うより、インテルに比べて企業規模も小さく、そんなことも出来なかった。
これが本音だったと思いますが、当然、マザボも使い続けることが出来ますな。

つまり、新しいチップセットを搭載した新しいマザボには、CPUが下位互換。
一方、古いマザボは、BIOSのアップデートでCPUの上位互換ができるんだよ。

そんな互換性サービスを提供し続けて、ユーザー離れを防ぐ作戦を取りました。
だから、AMD一途の自作派は、インテルには乗り換えられなかったと思います。

もし、乗りかえると部品一切合財を換えなければならない無駄なコストが発生。
そんな浪費をする余裕もなく、それを避けられるメリットはあったと思うんだ。

マツダの車に乗る人みたく、そこのディーラーであれば下取価格の査定も良い。
他へ行くと査定がガタ減りで、乗換えには金が掛かるとか、似たような話かも。

今のところ、最上位の3900X

それで、このRyzen5 3600でPCを作り直したので仕様について触れてみます。
このチップは、6コアと12スレッドを備えており、生まれて始めての6コアだ。

これまで使ってきたのが、4コア4スレッドと精一杯で格上のコア数に大満足。
クロックは、標準的な3.6 GHzのベースから、4.2 GHzまでブーストされます。

なので、Ryzen3000シリーズのラインナップから見ると下位のランクではある。
でも、性能自体がインテルの同等品を上回っており優れた設計だと確信した。

“Zen 2コア"をベースにしたデザインですが、これでやりたいことがあったんだ。
現状、VBAで書いたプログラムを、二時間ぶっ続けて動作させたりしています。

このプログラムは一旦起動させたら、CPUを占有して他のアプリが使いにくい。
Ryzen3 2200GのCPUが載った、もう一台でも、ちょっと操作がガクガクする。

これがいやで、ならば6コアでスレッドの多いCPUなら、どうなるのだろうか。
そんな素朴な疑問からPCを作り直してみましたが、結果はかなり良好なんだよ。

VBAをぶっ続けで起動して、他のアプリ挙動には全く影響を与えていません。
これがうれしくて、やはりZen2コアは恐るべしと、改めて感動した次第です。

というわけで、競合のインテルは、技術力で過去のものになったのでしょうか。
たしかに、AMDがリリースしたRyzen Threadripper 2990WXというCPUは、32コア(64スレッド)という化け物みたいなのに、価格が二十万円以下で購入できるという手頃さが良くて、一方、競合するインテルのXeon 8176(28コア・56スレッド)の価格が、百万円近くも高額なのを考えると、性能かつコストパフォーマンスで、AMDはPC自作派を強力に支援してくれるメーカーだと、今後もインテルを使うつもりの全く無い自分がいるのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2019年7月22日月曜日

半年以上も前の賞味期限れマザーボードをつかまされて、BIOSを何とかしたでござるの話 - AsRock B450M-HDV R4.0(そのほか)

PCパーツショップのドスパラで揃えました

パソコンの自作が趣味ですが、買ってきたマザボが半年以上も古いバイオスだ。
このマザボのバイオス最新アップデートは、先々月の中旬に行われていました。

だから、七月に買った製品だから、このアップしたVer2.30だと早合点したのさ。
このバイオスだと、七夕の日にリリースされた、Ryzen3000シリーズ対応です。

それで、CPUもRyzen5 3600を購入してマザボに載せてみたが、全く動かない。
あれー、マザボもCPUもぶっ壊したのかー、と背筋を汗がタラーっと流れます。

それで、もう一台のPCに載せていたRyzen3 2200GのCPUを外して載せ換える。
今度こそと思って、スイッチを入れたら、アーラ不思議、バイオス画面がでた。

うーん、マザボは死んでなくて生きていると思って、バイオス情報を確認した。
びっくりしたのは、載っていたのがリリース直後のVer1.0という賞味期限切れ。

このバイオスだと、昨年九月末に発売開始した、バリュー向けCPUも動かない。
”Athlon 200GE”ですら載せても起動しないマザボなんて、販売するのかなあ。

AsRockのサイトでも、CPU-Zを推奨している
AsRockのサイトは、背景が黒の基調でシック

そう思いましたけど、こうなりゃバイオスをアップするしかないと思って着手。
先ず、ネットから最新バイオスの情報を求めますが、全部英語で書いてあるの。

元々、アスロックの製品サイトは、背景がブラックでシックなデザインですな。
これがベースで、バイオスのページに移動してもそうで、雰囲気は闇サイトよ。

文字色が白でも警告や注意が朱書きになっていて、ちょっとおどろおどろしい。
もっとも、PCシステムが良好ならアップデートをお勧めしませんと書いてある。

自己責任でというのでしょうが、半年以上も前のバイオス付で売るのも変だな。
実際、ドスパラはアップデートを巡って裁判沙汰になったケースもあるくらい。

そんな想像が掻き立てられますが、乗っかるCPUが未だ売られているのも事実。
だから、マザボが賞味期限切れとも言えず、ここは自己責任で行動あるのみだ。

実を言うと、昔は自分でマザボのバイオスを書き換えてCPUを載せ換えました。
当時はROMにバイオスが書かれており、PCを起動させたらROMを抜くんだな。

     
そのソケットには新しいROMを差して、別のマザボのバイオスを書きあげます。
まあ、電源を落としてからオリジナルROMは差し直しをして、現状復帰します。

一方、書き上げたROMは、バイオスが壊れて起動しない別のマザボに差します。
こうして、動かずにいたマザボを蘇生させるという「活線挿抜」を結構やった。

こんな作業をしていたのが十数年前の話で、時代は今や「UEFI」になりました。
このUEFIと言うのは、バイオスの上位起動システムで、オブジェクト指向です。

メモリー容量も増えたので、グラフィカルなデザインができてマウスも使える。
しかも、USBメモリーに書いたデータから簡単に最新バイオスを更新できます。

これが、一番のメリットで、もう「活線挿抜」なんて言葉は死語になりました。
だけど、書込みに失敗したら二度と復活することができず、マザボは買い直し。

その分、リスクを追うことにもなるのですが、別の危険性もあったりしますよ。
それは、製品サイトでバイオス更新の履歴を紹介したページにあり、よく注意。

BIOSとUEFIの違い
書き換えの進行を表示中

英語でのみの説明だったしますが、バージョンが古過ぎて一発で更新できない。
バージョンの上げ直しを、二回にわたって行うような事例ですが、今回もそう。

バージョン1.40に上げてから、最新の2.30に上げ直すと説明書きにありました。
加えて、着手する前にウインドウズ(OS)をインストールする必要もあります。

もし、インストールせずにハードだけ起動させてUEFI画面を表示したとします。
それから、USBメモリーでInstant Flashをすると「secure flash check fail」だ。

つまり、書き換えできない状況に陥ってしまうのですが、要はOSインストール。
ウインドウズをインストールさえすれば、書き換えが意外と円滑に進みました。

おそらく、PCのウインドウズ立上げ設定をUEFIに書き込んでいるのでしょう。
この設定値が加えられるので、UEFIを書き換えても問題なしと判断するのかな。

あんまり、UEFIの設定条件を書き換えて、動かなくなってしまうのは避けたい。
標準で設定したままに、バイオスをバージョンアップするのが無難と思います。

という分けで、もちろん、Ryzen5 3600に載せ換えてPCマシンが完成しました。
他方、別のマザボ(AsRock AB350M-HDV)では、このUEFIのバージョンアップでOSが起動しなくなってしまい、ウインドウズの修復でも復活できず、結局、再インストールせざるを得なかったのですが、マザボを壊したわけでも無いし、インストールのやり直しぐらいだったら、仕方が無いなと諦める自分がいるのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村