FC2ブログ

accdeファイル作成で苦労した原因はACCESSのバグだった!

約1年半ぶりのブログ更新です。

AccessでのPC-POSレジ開発もいよいよ販売準備段階になっており、配布するためのaccdeファイルを作成しようとしていました。
まずは、セットアプリの「商品管理」の方を試しました。
すると、accdeファイルはエラーも無くすんなり作成できたのですが、起動するとデータベースに接続できていませんでした。
accdbファイルの場合はちゃんと接続できているのに何故か?例によってインターネット検索しました。
今回のアプリは、データベースにADOで接続する設計にしていますが、その場合、通常はADOライブラリの参照設定を追加してプログラミングしますが、見つかった情報によると、参照設定しない方法でコーディングしないとaccdeでは動かないらしいので、その部分を変更しました。
その結果、無事accdeでも動くようになりました。

それで次にPOSレジの方も同様に変更し、accdeを作成しましたが、今度はそれでもデータベースに接続できていませんでした。
仕方なくまたネットに頼り、3つくらいの方法が見つかったので、それを全て試しましたがだめでした。
自分なりに商品管理とPOSレジのコードを比較し、いろいろ変えてみましたが、だめでした。

困りました。ソフト開発をやっていると、いつも壁に突き当たります。その壁を乗り越えて、ソフトがうまく動いたときに得られる達成感が大きいので、この仕事が好きなのですが、壁を乗り越えられない間は、寝床に入っても考えることが多く、常に頭の中はそのことで一杯です。

自分の持っている知識と経験で解決できない時は、結局他人の知識・経験に頼らざるを得ません。なので、再度WEB検索です。
ネットで検索する場合、日本語の単語を入力して探すことが多いと思いますが、その場合、検索結果に出てくるサイトは基本的には日本国内のサイトです。所詮日本は小さい国で、日本国内の情報も「井の中の蛙」です。
英単語だけで検索すると、アメリカのサイトの情報がいろいろ出てきます。この時代便利なのは、英語のサイトでも自動翻訳してくれます。おかしな日本語訳も時々ありますが、だいたいは内容を理解できます。
やはり日本より人口も多くパソコンを使っている人も多く、Accessで開発している人も多いので、同様の問題で困っている人の質問サイトも多くありました。
日本のサイトで示されていることと同じ方法を示している人も多かったのですが、読んでいるうちに見つかった内容が、「空のSubルーチンを削除したら解決した」というもので、それをやって解決したので、お礼を書いている人が一杯いました。
そして私もそれをやりました。そうしたら何と、accdeでもちゃんと動きました!
何という解決法でしょう?Microsoftには「ええかげんにせえよ!」と言いたいです。

明らかにAccessのバグです。
私の開発環境は、Win7Pro x64 Office 2010 Pro x86で、サービスパックも適用しています。
販売用は、Win10Pro x64 Office 2019 Proなので、Access 2019でもAccdeを作成してみましたが、だめだったので、このバグは現在も残っているバグだと思われますが、日本でももっと騒がれてもよさそうな問題のはずなのに、日本のサイトには一つも無かったことが逆に不思議でした。それだけAccessで開発している人が減ったということでしょうか。

何はともあれ、大きな壁をまた一つ乗り越えられ、ほっとしました。

スポンサーサイト



theme : プログラミング
genre : コンピュータ

Windows 7の更新後ログインできない不具合が発生しています!

more...

theme : Windows
genre : コンピュータ

フリーソフトの方が優れている場合がある

more...

theme : フリーソフト
genre : コンピュータ

だからiPhoneは嫌い!

何でiPhoneは人気があり、よく売れるんでしょうか?
私はAndroid、妻はiPhoneですが、Androidの方が格段に使いやすいです。

・戻るボタンが無い
・SDカードが使えない
・高価
等々、デメリットの方が多いです。

特にパソコンと連携している人は、もっと差があります。
その悪の代表がiTunesです。

Androidなら、コピペで簡単にPCとスマホ間のデータコピーができるのに、
iPhoneはiTunesを介さないとできません。
しかもこのiTunesが使いにくい。分かりにくい。

今回お客さんから、Androidスマホの音楽データをiPhoneに移してほしいという依頼がありました。
AndroidからPCへのコピーは一瞬で終わります。
次にiTunesライブラリに先ほどの音楽を取り込みますが、これは難しくありません。
最後にiTunesとiPhoneを同期させる訳なのですが、この「同期」が曲者なのです。
同期の時の注意点は、iPhoneには入ってるがiTunesには入っていないデータや、データがiTunesで選択されなかった場合、そのデータはiPhoneから消されてしまうということです。
これで失敗されている方は多いと思います。

おまけに、iCloudミュージックライブラリが関係してきて、複雑怪奇なシステムになっています。
iCloudミュージックライブラリは、iPhoneの設定で標準でONになっていますが、この場合、同期ができないことがあります。
また、同期ではなく、Androidのように、PCから一方通行でデータをスマホに入れたい場合、「手動管理」をする必要がありますが、iCloudミュージックライブラリをONにしていると、音楽の手動管理ができません。

極めつけの「悪」は、iTunesとiPhoneは基本的に1対1が前提になっていて、iTunesが「親」でiPhoneが「子」の関係にあり、
親が変わることを考えたシステムになっていないのです。
だから、PCが壊れたり買い換えた場合に困るのです。
新しいPCにiTunesをインストールすれば同期はできますが、新iTunesにデータが入っていなければ、先述のように、iPhoneの中のデータは消えて無くなるのです。

私は、職業柄勉強のため、妻にiPhoneを買わせましたが、
こんな使いにくい商品に高い金を払って買う人の気が知れません。

特に日本人はブランド志向が強く、「iPhoneというブランド」に惹かれるのかもしれませんが、
もっと賢い消費者になり、無駄遣いを減らすべきだと思います。

theme : iPhone
genre : 携帯電話・PHS

うん十年ぶりにOS/2をインストールした!- その3(試行錯誤)

元々OS/2には、HDD4.2GBの壁があります。
しかし後に新しいドライバーが提供され、2TBまでのHDDが利用できるようになりました。
このドライバーもちゃんと準備して行ったのですが、PC750の方に壁があり6.4GBのHDDを2GBと認識しています。
おそらくこのことが原因だと思いますが、OS/2のインストールが途中でエラーになるのです。

いろいろ試してもだめだったので、PC750は使わず別のハードでOS/2をインストールすることになりました。
たぶん20年以上前になると思いますが、IBM以外のPCにOS/2をインストールした記憶がおぼろげに?あります。

OS/2が衰退した原因の一つに、デバイス・ドライバーが貧弱だったということがあります。
特にビデオ・ドライバーです。
OS/2は、インストールできるハードを選り好みするので、パーツ選びが大変なのです。最新のパーツよりもできるだけ古いパーツの方がインストールできる可能性が高いのです。
幸い私の店には中古パーツをいろいろストックしているので、探し始めました。

S478のマザーボードがいくつかあったので、その時期のものを使うことにしました。(その前の世代のマザーはもう全部処分しました)CPUはCeleronで、HDDは日立の80GBです。
インテル系のチップの方が相性が良いような情報があったので、まず最初に選んだのはECSのL4IGVM6でi845GVチップセットです。

先述のように、Warp4は持っていないのでWarp Connect V3をインストールします。
CD-ROM版ですが、起動ディスクとDisk1はフロッピーです。
80GBのHDDに対応させるためには、Disk1の中のいくつかのファイルを新しいものに置き換え、Config.sysを一部変更する必要があります。(インストール手順詳細は、次号以降に掲載します。)
しかし、ここでまずつまずきました。インストールファイルをHDDにコピーする段階で、Disk1からコピーするところで必ずストップするのです。エラー内容からすると、何かファイルが見つからないようです。
8.4GB以上HDD対応のDisk1の作り方を何度も確認しましたが、間違っていないようです。
元々Disk1の空き容量が殆ど無く、単純に新しいファイルを上書きできないので、使わない3つのファイルを削除しますが、もしかしてそのどれかを探しているのかと思い、1個ずつDisk1に戻して再度インストールしてみましたが、同じでした。
エラーメッセージに見つからないファイル名を表示してくれればよいのですが、そこまで親切ではありません。

ここでかなりの時間と労力を費やしましたが、どうしても上手く行かないので発想を変えました。
8.4GB以上HDD対応のDisk1の作り方の基本は、Config.sysの最後にSET COPYFROMFLOPPY=1の行を追加し、ドライバーをCD-ROMからではなくフロッピーから読み込ませるという方法ですが、この行を削除し、CD-ROMのDisk1フォルダの中にあるドライバーをオーバー8.4GB対応のものに置き換えたCD-Rを作成し、そこから読み込ませることにしました。
この方法はまんまと成功し、難関をやっと乗り越えることができました。(CD-Rが無かった時代には出来なかった技です)

これでVGA表示状態でのOS/2インストールには成功しましたが、次の難関がビデオ・ドライバーのインストールです。
i810マシンは過去にインストールしたことがありドライバーもありますが、今回のi845ドライバーはありません。
新しいディスプレイ・ドライバーのGRADDやSciTech Display Doctor(SDD)などが提供されており、それらを使えば何とかなりそうですが、その前にOS/2のFixPak WX03807を適用しておく必要があるので適用しました。

出来るだけ新しいドライバーの方が良いと思い、SciTech SNAP 3.1.8を入手しインストールしようとしましたが、インストール・プログラムを実行すると、FixPak 32以上が必要との英語のメッセージが出て撥ねられました。先にWX03807を適用済みなので条件は満たしているはずなのに...

仕方がないので、次にSDD7.07を試すことにしました。
SETUPコマンドを実行したら、実行は完了したようなのですが、再起動をかけると画面が表示されずフリーズします。
VGAモードにしたら起動はできましたが、高解像度にはできません。

しかたなく今度はGRADDです。
i845G専用GRADDのリンクはあったのですが、リンク切れで入手できず、汎用バージョンの0.97を入手し、Generic SVGAドライバーをインストールしたところ上手く行き、高解像度表示できるようになりました。
(これなら最初からGRADDを入れれば良かった...)

残るはLANドライバーです。
オンボードのチップはSiS900で、ドライバーが見つからなかったので、実績のあるRealtek8139のPCIカードをひっぱり出してきて、すんなりインストールできました。

これで遂にOS/2マシンの完成ですが、まだこれで終わりではありません。
MICRO CADAMをインストールしなければなりません。
MICRO CADAM自体のインストールは簡単で、時間も掛からなく終わりました。
ところが、最後の最後に予期せぬ問題が発生しました。
OS/2版のMICRO CADAMにはファンクションキーボード(PFK)が必要で、これがPCのシリアルポートに接続されます。
このPFKの中にはセキュリティROMが内蔵されており、プログラムが起動時にこれをチェックする仕組みになっていて、コピーガードの役割をしています。
ところがPFKの認識が不安定で、起動したりしなかったりするのです。
シリアルケーブルを替えたり、予備のPFKに替えたりしてみましたが同じでした。
マザーボードのシリアルポートの設定を変えてみましたが、やはりだめでした。

ということで、せっかくOS/2マシンが完成したのですが、このマザーボードをやめ、別のもので再度インストールすることになりました。(やれやれ...)

続きは次号で...

theme : ソフトウェア
genre : コンピュータ

プロフィール

tasys

Author:tasys
FC2ブログへようこそ!

カレンダー
プルダウン 降順 昇順 年別

01月 | 2020年02月 | 03月
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29


最新記事
最新コメント
カテゴリ
天気予報

-天気予報コム- -FC2-
フリーエリア
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード