0

アクセスフォーム内にhtmlメニューを組み込もうとしています。Web ページから Access に (ユーザーが Web ページ内で選択したものに関する) フィードバックを取得するにはどうすればよいですか。Access 2007、MS WebBrowser コンポーネントを使用しています。

任意の助けをいただければ幸いです

4

1 に答える 1

0

ホスティング フォームを呼び出したり、WebBrowser 内から Access でアクティビティを開始したりする公式の方法はありません。

ただし、私が使用する気の利いたトリックが 1 つあります。ドキュメントが読み込まれた後、いくつかの要素の属性を Access フォームに設定できます。htmlDoc.all.formDiv.setAttribute "outerForm", Me

次に、WebBrowser 内からフォームのプロパティとメソッドを参照できます。

document.all.formDiv.outerForm.Application.DoCmd.Close(2,"webForm")

編集:奇妙なことに、タグ
を追加すると参照が null のままのようです。<META http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>一見、プロパティはより厳密になり、setAttribute は文字列を想定しています。

次のオプションは、アクセス フォーム ('Me') を WebBrowser の変数に渡すことです。ただし、グローバル変数または関数が直接公開されているようには見えません。

ただし、これは HTMLBodyElement のプロトタイプに関数を追加することで簡単に克服できます。関数はその引数をグローバル変数に渡し、同様に任意のクラスを返すことができます。

html ページでは、次のようになります。

var frm = null;
HTMLBodyElement.prototype.setForm = function(f){frm = f}

Access からは、参照を下に渡すだけです: htmlDoc.document.body.setForm(Me).

于 2017-01-03T07:49:19.703 に答える