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

執筆者:

関連記事

no image

hostingrails.com

知り合いがHPを作ってくれというので、どこかのサーバを借りることにした。 いろいろ検討した結果、hostingrails.comというところにした。 このレンサバはその名の通り、Railsで作ったWe …

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

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

no image

Accessであらかじめリンクテーブルを開いておくと劇的に高速化

リンクテーブルに対して「Dlookupで値を探して見つかったらCurrentDb.Execute UPDATE~ で値を更新」という処理をループで回している。 この処理、一旦始めると、終えるのに30分 …

no image

CliborとPythonで明日(昨日)の日付を出す

Clibor、使ってますか? 私は毎日使っています 例えば、「2018/07/02(月)」のように明日の日付を書きたいと思ったら、どうやって入力していますか? キーボードで13個以上のキーを押して、曜 …

【重要・ご対応のお願い】Chatwork APIリクエストの仕様変更についてのお知らせ

7/3の夕方ごろから、PADで作成したチャットワークのフローでエラーが出ていたので、あれっと思って調べたら、案の定、その日チャットワーク側でAPIの仕様変更があった。後から調べたら、事前に作業日付きの …