ログフォームや履歴ビューなど、メインフォームに入力されている現在のマテリアル情報をリストするサブフォームを持つフォームがあります。更新可能なサブフォームは、編集時にハイパーリンクフィールドの末尾に「#http://#」を追加します。
サブフォームには、製品が割り当てられたスキッドを指定するフィールドがあります。このフィールドをハイパーリンクにして、OnClickイベントを使用してレポートを起動し、適切な要約を生成するために必要な行情報を抽出できるようにしました。
これはうまくいきました。サブフォーム内からスキッド番号を編集しようとするまで、それは完了したと思いました。
サブフォームでの編集を許可することは、プロジェクトの要件です。ハイパーリンクされたフィールドでスキッド番号を編集すると、自分のコードが壊れます。アクセスは自動的に#http://#
をセルに入力した値の末尾に追加し、この文字列でテーブルを更新します。その行は、スキッド番号からキーを離しているため、レポートから省略されます。設計上、このハイパーリンクにはパスやアドレスはありません。単に、どの行がクリックされているかを判断するために使用します。
「ハイパーリンクですか?」プロパティを「はい」にしている間に、Accessが#http://#
を追加しないようにするにはどうすればよいですか。この振る舞いを設定する別のプロパティがあるか、AfterUpdateイベントを使用して追加を元に戻す必要がありますか?これはリソースの浪費のようです。
私がアクセス2010
私のデータ型はテキストで、サブフォーム "ハイパーリンクは"プロパティが "はい"に設定されています。私はそれを「いいえ」に変更し、「ハイパーリンクとして表示」を「画面のみ」に設定しました。フィールドの編集時にURLを追加することがなくなりました。なぜ私はOnClickイベントが常に利用可能であることに気付かなかったのかは完全な謎です。私をまっすぐにしてくれてありがとう – MoondogsMaDawg