Access 2016 に、複数のセミコロンで区切られたハイパーリンク (動的に作成される) が必要なテキスト ボックスを含むフォームがあります。私がやろうと決めたのは、VBA で「ハイパーリンク構成文字列」を作成し、それらをテキスト ボックスの値に割り当てることです。したがって、次のようなものです:
Me.Field.Value = {link: www.google.com : "Google"} & "; " & {link: www.yahoo.com : "Yahoo"}
...これはテキストボックスに表示されます:
私の問題は、テキストボックス全体を単一のハイパーリンクにしないと、テキストボックスに個々のリンクを作成する構文を理解できないように見えることです。これは機能しません。
私が見つけたいくつかの解決策に取り組んでいました。これにより、必要な方法でリンクが作成されることを読みましたが、ポンド記号を含むリテラルテキストとしてのみ送信されます。
"Google # www.google.com # Some Argument"
また、テキストボックスをリッチテキストに設定してから、ハイパーリンクのリッチテキストコードを含めるように値を設定しようとしました...しかし、それは機能しません:
"{\field{\*\fldinst HYPERLINK ""http://www.google.com/""}{\fldrslt http://www.google.com}}"
また、ハイパーリンクを返すクエリを設計することも考えました。しかし、私はそれを VBA のものにしたいと思っていました。なぜなら、値を作成する方法がより柔軟になるからです。誰にもアイデアはありますか?
注:複数の値が 1:M リレーショナル データベースにある必要があることを理解しています。彼らです。ただし、タスクの要件は、1 エンティティのすべての M 値を取得し、それらをセミコロンで区切ってリストすることです。これらはすべて、M エンティティの詳細テーブルへのリンクとして機能します。