Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : Microsoft 365)
フィールドの値のコピー
投稿日時: 24/04/15 08:42:35
投稿者: yurappy

お世話になります。
 
いつも、困るとお願いしてすみませんが教えてください。
 
クエリで、結合した値をコピーして他のソフトにその値をペーストしたいのですが、ネットで探してもマクロの例などが見つからなくて困ってます。
 
マウスでドラッグして、右クリックでコピーしてもできますが、できたらボタンをクリックしたらコピーして値を取得して、他のソフトでは右クリックのペーストかControl+Vでペーストできるようにしたいのです。
 
 おこないたい動作
 
 1 ボタンをクリックすると、特定のフィールドの値をコピーする
    *クエリで、計算した値などと複数のフィールドの値を結合した値です。
 
 2 他のソフトの入力欄に、ショートカットキーか右クリックでペースト
 
 
以上です。
 
 
他のフィールドに値を複製する様なマクロ例はあったのですが、コピーが見つからずに甘えてすみません。
 
よろしくお願いいたします。
 

回答
投稿日時: 24/04/15 11:55:09
投稿者: hatena
投稿者のウェブサイトに移動

yurappy さんの引用:

 おこないたい動作
 
 1 ボタンをクリックすると、特定のフィールドの値をコピーする
    *クエリで、計算した値などと複数のフィールドの値を結合した値です。
 
 2 他のソフトの入力欄に、ショートカットキーか右クリックでペースト

ボタンをクリックするとのことですが、このボタンはどこに配置する想定でしょうか。
 
特定のフィールドの値とは、どのレコードのどのフィールドでしょうか。
複数のフィールドの値を結合した値は、クエリ上に存在してますか。
 
このあたりのユーザーインターフェイスや仕様をもう少し具体的に説明してもらえますか。
 
クエリ上にボタンを配置することはできないので、クエリをレコードソースとするフォームか、非連結フォームにサブフォームとしてクエリを埋め込む形なるとは思います。
 

投稿日時: 24/04/15 14:04:37
投稿者: yurappy

hatenaさま
 
お世話になります。
ご親切にありがとうございます。
 
説明不足で申し訳ございません。
 
 

引用:
クエリ上にボタンを配置することはできないので、クエリをレコードソースとするフォームか、非連結フォームにサブフォームとしてクエリを埋め込む形なるとは思います。

 
 
ボタンは、フォーム上に設けたいです。
フォームは単票でサブフォームはありません。
フォームのレコードソースは、コピーしたいフィールドを含むクエリです。
 
毎回、余計な手間をおかけしてすみません。
 
よろしくお願いいたします。
 

回答
投稿日時: 24/04/15 18:12:53
投稿者: hatena
投稿者のウェブサイトに移動

yurappy さんの引用:

ボタンは、フォーム上に設けたいです。
フォームは単票でサブフォームはありません。
フhttps://www.moug.net/ォームのレコードソースは、コピーしたいフィールドを含むクエリです。

 
フォーム上にコピーしたいフィールドと連結したテキストボックスを配置してください。
(既に配置してあるならそれを利用します。)
 
コマンドボタンに下記のコードを設定すればいいでしょう。
 
Private Sub コマンド1_Click()
    Me.テキストボックス名.SetFocus
    DoCmd.RunCommand acCmdCopy
End Sub

 

投稿日時: 24/04/15 18:52:21
投稿者: yurappy

hatenaさま
 
お世話になります。
助けていただいて、ありがとうございます。
 
教えていただいたコードで思うようにコピーして動作しました。
 
クエリで結合したとおりの結果にきちんとコピーできてとても助かりました。
 
いつも、助けてくださって大変ありがとうございます。
 
教わる度に、VBAの奥深さと機能の豊富さに驚かされて、勉強不足を感じてお恥ずかしいです。
 
とても嬉しく、ほんとうにありがとうございました。
 
いつも、ご親切にしていただいてありがとうございます。
 
また困った時には助けてください。
 
ありがとうございました。
 
よろしくお願いいたします。