IT仕事 MS Access

AccessのデータをGoogleスプレッドシートに表示する

投稿日:

会社のネットショップで、お客様から電話で荷物の出荷状況について問い合わせがあった場合に、現状ではすぐに対応できていなかった。

荷物の伝票番号は、クロネコヤマトのB2のソフトか、あるいはAccessの業務システムを調べられる。
だが、B2は一台のPCにしかインストールされていないし、Accessは起動に時間がかかるため、お客様を電話口で待たせしてしまう。

社員全員のPCでは、常にGmailは表示しているので、ブラウザのお気に入りに登録しておくなどしたWebページで、全員が簡単かつスピーディに伝票が検索できると、ありがたいのだが。

最初に調べたのは、Accessから伝票データをエクスポートして、そのままWebページにできないかという、切り口。

わかったのは、簡単に、DoCmd.OutputTo acOutputQueryで、Webページは作れる。コードを書かなくてもやりたいことが簡単にできるのはとても便利だ。
また、クエリそのままではだめだけど、テーブルにしておけば、Webページを作った際にハイパーリンクも機能する。
軽くて、Webページはスピーディに開く。
ただ、デザインは素っ気ない。

また、心配事としては、リンクのアドレスを知られたら誰にでもアクセスできてしまうことかな。

.htaccessを利用したアクセス制限やBASIC認証でかわす手もあるけど。

そこで、次に考えた(&採用した)のが、以下の仕組み。

■Access(業務システム)側
1.ご注文NO,発送日,お客様,フリガナのリストの選択クエリを作る
2.作ったクエリを、UTF-8に変換して保存し、さらにFTPでレンタルサーバにファイルをアップロードする

参考:
T’sWare Access Tips #578 ~UTF-8形式でテキストファイルに出力するには?~
T’sWare Access Tips #409 ~FTPでファイルをアップロードする方法~

■Googleスプレッドシート側
1.セルA1に、前処理で作成したファイルのパスを記述する。
2.セルA2に、見出しを付ける。
3.セルA3に、関数のImportData(A1)を記述し、ファイルを読み込む。

参考:
IMPORTDATA – ドキュメント エディタ ヘルプ

満足できる出来栄えになった、一応。
不満があるとすれば、
1.スプレッドシートを開くときに少々重たく感じること。
2.ブラウザのキャッシュの関係かデータが最新でない場合があること。

前者はどうにもならないが、後者なら例えばセルA1をDeleteキーで削除し、直後にCtrl+Zで戻すなどすると、最新には、なる。
ここまでが、限界かな。満足だけれども。

-IT仕事, MS Access

執筆者:

関連記事

PAで複数の同じPADの処理をループするときに気を付けること

Power Automate のフロー内で、同じデスクトップフローを2回使っている。それぞれの処理の終了後は、同じように同じ名前の出力変数を受け取り、次の条件で使っている。なので、最初の処理のブロック …

no image

CMOSボタン電池切れ

DellのOptiplexを使っている隣人(会社)、席替えの際にコンセントから電源ケーブルを抜いて以来、PCが立ち上がらなくなった。 XPなのだが、ようこそ画面の直前の「マウスポインタと黒背景」から先 …

no image

AccessのレポートでNoDataでイベントキャンセル後もReport_Closeが実行されて困った

Accessのレポートで表示するデータがない場合は、以下のように書けばスマートにキャンセルできる。 Private Sub Report_NoData(Cancel As Integer) MsgBo …

no image

最近使ったロイヤリティフリー写真素材サイト

普通。Mで1620円位? http://pixta.jp/   安め。Mで1000円以下 http://jp.fotolia.com/   古め・安め http://www.dex …

bigdump.phpという素敵で便利なツールで、救われた。

phpMyAdminでアップロードできなかったので、こちらのツールを使わせてもらった。 CPIのサーバで、2,864,000行/393mb/gz圧縮後25mb、をアップ。 40分位かかった。 作者に感 …