ASPとMDBを使用するサイトでは、特定のMDBがリンクテーブルを使用し、現在のディレクトリの別のMDBテーブルにリンクして、データ共有を達成できます。
問題が来ています。 WebサイトをWebサイトに公開すると、オンラインスペースパスはネイティブマシンとは異なるため、リンクテーブルが失敗し、Webページを開くことができません。
解決策は次のとおりです。
1つは、マシン上のオンラインスペースとまったく同じディレクトリ構造を作成することです。しかし、これは非常に厄介です。特に、ウェブサイトを変更する必要がある場合は、非常に面倒です。
1つの方法は、リンクテーブルに相対パスを使用させることです。これは、現在のディレクトリのMDBファイルにリンクすることですか? (ところで、アクセスは非常に精神的に遅れており、リンクテーブルは絶対パスを記録します)。
別の方法は、プログラミング(ASPまたはローカルVBA)を介してリンクテーブルのリンクを変更する方法です。 (ところで、アクセスはまだ精神的に遅れています。手動更新のみを使用してリンクテーブルを更新できます。そのパスの下にMDBを見つける必要があります!しかし、ローカルパスはオンラインのパスとは異なります)
上記の最後の2つの方法を実装する方法を教えてもらえますか?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下は、私が使用しているAdoxコードです。私が言及したアクセスにこの関数があることを証明するために(これを率直に言うために:これはアクセスの問題ですか?これはADOモデルが解決する問題です。そして、あなたは間違った部分について言及し、ASPの部分に言及する方が適切です)。プログラミングにアクセスする人はそれを理解する必要があります。あなたがそれを理解できないなら、私は後悔しか言うことができません。
publicFunctionNewLinkedExternalTableMdb()
dimstrtargetdb()asstring
dimstrproviderstring()asstring
dimstrsourcetbl()asstring
dimstrlinktblname()asstring
dimcatdbasadox.catalog
dimtbllinkasadox.table
dimtmplinkasadox.table
dimiasinteger
Dimjasinteger
setCatdB = newAdox.Catalog
catdb.activeconnection = currentProject.Connection
i = catdb.tables.count
redimstrtargetdb(i)