2016-10-10 28 views
-1

こんにちは私はcolumsとのアクセスでテーブルを持っている:自動選択フィールド

ID - Autonumber 
Username - Text 
Display Name - Text 
Auto - Hyperlink 

私はhttp://example.com/user=UsernameFieldHereのようなのAutoFieldを作成し、データシートビューでそれをクリックすることができるようにしたいです。

ハイパーリンクをクリックすると同時に、その行の表示名フィールドをクリップボードにコピーすることも可能ですか?

+2

VB.NET IsNot vba AndAlso IsNot access-vba – Plutonix

+0

これはハイパーリンクフィールドとして設定できますが、他のフィールドの値を使用してビルドすることができます。私は職場でアクセスしていないので、完全にチェックすることはできません。 –

+0

'http:// example.com/user = UsernameFieldHere'は文字通りあなたが行きたいウェブサイトですか?私はあなたがアクセスの別のフォームに行きたくないことを明確にしたいだけです – Brad

答えて

1

あなたはどちらか

  1. は、(代わりにハイパーリンクフィールドの)あなたのテーブルで計算フィールドを使用することができます。書式を="http://example.com/user=" & Usernameとして設定し、その列をテキストボックスにバインドするときに、書式>ハイパーリンクの表示= "常に"と設定します。

  2. テーブルをそのままにして、フォームに別のテキストボックスを追加し、コントロールソースを上記のように="http://example.com/user=" & Usernameと同じハイパーリンク設定に設定します。その後

ClipBoard_SetDataコールがWindows APIからのものであることを、これまであなたが選んだそれらのどの(私は2番目を好むが)、あなたのテキストボックスの上のClickイベントに、あなたが

FollowHyperlink me.textBoxWithURL 
ClipBoard_SetData UserName 

を持っています。 MicrosoftはAPIを使用するためのすべてのサンプルコードを提供しています。空のモジュールにコピー/ペーストして、必要に応じてClipBoard_SetDataを使用してください。

+0

ありがとう!しかし、とにかくテーブルからちょうどそれを動作させるには?フォームを作成せずに。 – aleeis

+0

@aleeisいいえ。しかし、ユーザーは直接テーブルに座ってはいけません。フォームはデータシートにすることができますので、テーブルと同じに見えます。 – Brad

+0

@aleeis他のコメントを展開するには、実際には設計できないテーブル自体でこのようにしないでください。テーブルは、バリデーションやデータマクロを介していくつかの限られたコードを実行できますが、VBAを実行することはできません。これは、基になるACE/JETデータベースに接続できるが、Access以外のプログラムに接続できるためです。したがって、テーブル内のデータが変更された場合、Access(VBAを実行するプログラム)は動作しているとは限りません。 – Brad

関連する問題