ホームページ上でAccessのファイルを起動するには?

[上に] [前に] [次に]
すずめ 1999/08/19(木) 11:36:37
ホームページ上からAccessで作ったファイルを起動できるようにしたいのですが、うまくいきません。
exec "../link/tosho.mdb";
という1文のはいったcgiプログラムを走らせても画面が真っ白になるだけで何も起こらないのです。どこが違うのでしょうか?
社内だけで使用するホームページなのでセキュリティなどは気にする必要はないです。

ふじ 1999/08/19(木) 12:51:10
tosho.mdb て、実行ファイルじゃないですよね?
それをそのまま exec しようとしても何も起きません。
access を 起動しないと。

#exec "access.exe tosho.mdb";
#とか? Access 持ってないのでアプリケーション名は適当ですが。

ところでCGIからアクセスを起動したとして、その結果は多分CGIでは
得られないと思いますが、それでいいんですか?

すずめ 1999/08/19(木) 15:11:43
ご指摘通り

exec "/Program Files/Microsoft Office/Office/Msaccess.exe";

と書き換えてまずAccessが起動できるか試してみたのですが、やはり
現象は変わらずです。
この行の後に
print "起動完了";
というのを付けてみたら真っ白な画面に
起動完了
と出るのでexecは無視されているということなんでしょうか?
マニュアル本によるとexecの後の文は実行されないはずなので。

PTAN 1999/08/19(木) 16:11:41
イマイチ何がしたいのか分からないのですが...
CGIの中でexec(Perl?)したら、Webサーバの入ったサーバ側で、
Accessが起動されますよね。
つまり、クライアント側は何も起きなくて、当たり前では。

すずめ 1999/08/19(木) 16:48:02
説明不足で申し訳ありません。
イントラネット上でのホームページでボタンをクリックしたら、とある1台のpcの中にあるAccessで作ったファイルを開きたいのです。
今は試しでやっているので全部1台の中で試しているのですがうまくいかないということです。
外部コマンドの起動って普通はやらないものなのですか?

yb 1999/08/19(木) 17:19:16
とある1台のpcが、pc-hogeという名前で、hogeという共有フォルダに
hoge.mdbがあって、そのファイルを呼び出したPCで開きたいのなら
単純に、
<a href="\\pc-hoge\hoge\hoge.mdb">hoge</a>
では駄目でしょうか?

すずめ 1999/08/20(金) 10:02:03
ybさんのやり方で試してみました。そうすると
-----------------------------------------------------
この場所からファイルをダウンロードするよう選択しました。

このファイルの処理方法
・このファイルを上記の場所から実行する
・このファイルをディスクに保存する
-----------------------------------------------------
というメッセージが出て処理方法のうち”上記の場所から実行する”を選択すると
別の場所にファイルがコピーされてそのあとファイルが開くのですが、
何故か2つ開きます。どちらもコピーされたファイルで。

私がやりたいのは、エクスプローラとかで他のpc上にあるファイルをダブルクリックすると
自分のpc上で開きますよね。そのダブルクリックの代わりにHP上にメニューを作って
クリックするとあらかじめ指定しておいたファイルが開く、ということなんですけど、
一見単純そうですけど無理なんでしょうか?

\n 1999/08/20(金) 13:21:15
こんのなのを試してみました。

■link.html
<HTML>
<BODY>
<A HREF="t.bat">起動</A>
</BODY>
</HTML>

■t.bat
"C:\Program Files\Accessories\WORDPAD.EXE" C:\WINDOWS\デスクトップ\開きたいファイル.txt

この組み合わせでリンクをクリックすると、ダウンロードするか起動するかを
聞いた後、起動するを選択するとBATの内容を実行します。
ネットワーク越しにBATファイルを起動するには、BATの中のパスを
ネットワークパスに合わせてやればいけそうです。

もっとスマートなやり方も有るかもしれませんが・・・

すずめ 1999/08/20(金) 14:17:57
\nさん、ありがとうございます。

何とか指定したファイルが起動するまでにこぎつけました。
でも
>ダウンロードするか起動するかを聞いた
聞いてこなかったです。
で、それはいいんですけど問題は他のpcからリンクをクリックしても
サーバとなっているpc上でファイルが起動してしまいます。

>ネットワーク越しにBATファイルを起動するには、BATの中のパスをネットワークパスに合わせてやれば
この部分ができていないので駄目なんだと思うのですが、意味がわかりません。

"C:\Program Files\Accessories\WORDPAD.EXE"
を自身のpcのを使うように変えないと駄目ということなんですよね。
ネットワークパスって何ですか?

\n 1999/08/20(金) 19:34:25
>聞いてこなかったです。
たぶんそれは、そのマシンのファイルタイプで聞いてこない用に
設定してあるからでしょう。

>ネットワークパスって何ですか?
まともに勉強したわけではないので、正確な名称は知りませんが
\\マシン名\共有ディレクトリ名\実行したいファイル名
ってヤツです。

マシンがWin95なら、Windowsディレクトリに在るテキストファイル
に沢山情報が有ると思いますから読んでみて下さい。
#マシンによっては無いかもしれないので、無ければごめんなさい。

[E-Mail] [HomePage] 1999/08/24(火) 03:46:34
根本的な所での確認ですが、Access ファイルを開いた後、編集内容を
保存されるのでしょうか?もしされるなら、今まで通りネットワーク
ドライブから直接起動しなければなりません。Web 上でファイルを
開いたところで、変更内容を元ファイルに反映できませんから。

もし、参照のみでよいなら、ASP を使われたらどうでしょう。

すずめ 1999/08/24(火) 09:47:18
みなさんありがとうございます。

はじめに言っておくべきことでしたが、サーバとするPCはWin98です。
ASPって何かよくわかりませんが、それってNTじゃないと駄目なんですよね?

開きたいAccessのファイルは編集は行わず参照のみなのですが、
操作上テーブルの書き換えを行います。
だからybさんに教えていただいたやり方でやろうかと思います。
それだと一旦自分のところにコピーしてから開くので安全だろうと。

しかしそれだと同じファイルが2つ開いてしまいます。
原因はファイルを開いたときに実行されるAutoexecマクロを実行させているため
のようなのです。それを実行しなければ1つしか開かないので。

でもファイルを開くと同時にメニュー画面を表示させたいのでどうしても
そのマクロを使いたいのです。
Autoexecマクロを使わないで、起動時の設定の方でフォームを表示させてもやはり
2つ開いてしてしまいます。

どうして2つ開くんでしょう?

ゴンザレス 1999/08/24(火) 14:59:50
便乗質問があるんですけど・・
先に書かれていた、<a href="t.bat">起動<a>何ですけど、
IE5ではうまくいったんですが、NNではうまくいきません。
私も、同じくクリックしたらMsaccess.exeが立ち上がる(ローカルで)ってのがNNを使ってやりたいんです。
いろんな事を試してみたんですが、どうもう、うまくいきません。
Javaは使いたくないんです。
便乗質問なんですが宜しくお願いします。

1999/08/25(水) 01:54:59
Web サーバは何を使っていますか?
PWS なら ASP を使えますが。。。
アクセスファイルを開いて任意のフォーマットで表示するのには
ASP が最適です。

1999/08/25(水) 06:10:13
補足です。

PWS とは、 PC98 に標準で付いている Web サーバです。

1999/08/25(水) 06:11:15
訂正。

【誤】PC98
【正】Win98

すずめ 1999/08/25(水) 17:00:56
Web サーバはAN HTTPDを使っています.

"とほほのWWW入門 > とほほのCGI入門 > CGIその他 > Windows 95/98でCGIを動かそう"
を見て設定しました。

今からPWSに変えるのもよくわからないのですが、CGIとか使えるんでしょうか?
それも今の形のままで。
ほぼ完成しているので今から根本的に書き直すのはつらいんです。

"開きたいAccessのファイル"というのはすでにシステムとして使っているので
そっちを変更するのも駄目なんです。

しつこいようですが、今試している
<a href="../link/tosho.mdb">open</a>
だと2つ開くのですがこれさえ解決すればうまくいくのです。
AccessのAutoexecマクロを使うと何故2つ同じファイルが開くのか、どうすれば
1つになるのか、御存知の方いらっしゃいませんでしょうか。

その他 1999/08/26(木) 17:51:30
何度かテストすると、どうも、mdbのサイズが小さいと、2つ開かない
ようですね。
1.開きたいmdbのテーブルは、リンクテーブルにしてサイズをダウンさせる。
2.tosho.mdbのAutoexecと起動時の設定を外し、"macro1"という名で
スタートフォームを開くマクロを作成。
ネットワークPC名が、"pc00"、共有フォルダ名が、"pub"、だと
して、pubの中に、内容が
"C:\Program Files\Microsoft Office\Office\msaccess.exe" "\\pc00\pub\tosho.mdb" /x macro1
のファイルを"open.bat"という名前で作成。
<a href="\\pc00\pub\open.bat">open</a>
で、呼び出す。

これでも駄目ならお手上げです。

すずめ 1999/08/30(月) 08:53:31
[[解決]]
その他さんに教えて頂いたようにやってみました。
1番目のファイルのサイズを小さく(314KB)してみましたが、駄目でした。
2番目のマクロを指定するやり方ですが、
"C:\Program Files\Microsoft Office\Office\msaccess.exe"
という風に指定するとサーバーとなるPC上で開いてしまうので、
この部分の指定の仕方がうまくいけば\nさんのやり方でもいいのですが・・・

いろいろみなさんに教えて頂きましたが、期限が8月中なのでこの件はあきらめます。ご意見下さったみなさんありがとうございました。
解決時のチェックは質問者本人がするということなので、
便乗質問のゴンザレスさん、別にトピック作っていただけますか。

[上に] [前に] [次に]