Office 2019 Access 2019

フォームのテキストボックスの内容をボタンをクリックしてコピー

投稿日:2019年8月15日 更新日:

Accessでフォームのテキストボックスの内容を、コマンドボタンをクリックしてクリップボードにコピーする方法です。他のアプリケーションにテキストボックスの内容を貼り付けたい時などに便利です。

フォームのテキストボックスの内容をボタンをクリックしてコピー

参考ここでは、オブジェクトの表示は[タブ付きドキュメント]の設定にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

フォームの作成

サンプルとして[T_社員]というテーブルがあります。

下の画像はテーブル[T_社員]のデザインビューです。

テーブルのデザインビュー

クエリウィザードを使用してクエリの作成

フィールドを選択してクエリを作成します。

ここでは、クエリウィザードを使います。

[作成]タブの[クエリ]グループにある[クエリウィザード]をクリックします。

クエリウィザード

クエリウィザードを起動します。このウィザードは、選択クエリ、クロス集計クエリ、重複クエリ、および不一致クエリを作成するのに役立ちます。

[作成]タブの[クエリウィザード]

以下の[新しいクエリ]ウィンドウで[選択クエリウィザード]を選択して[OK]ボタンをクリックします。

新しいクエリ

次のウィザードで、[テーブル/クエリ]の▼ボタンをクリックして、目的のテーブルを選択します。

選択クエリウィザードでテーブルの選択

必要なフィールドを選択します。左の[選択可能なフィールド]からフィールドを選択して、中央の[>]を押して、右の[選択したフィールド]へ移動させます。

[次へ]のボタンをクリックします。

[選択クエリウィザード]でフィールドを選択

クエリに名前を付けます。

[クエリを実行して結果を表示する]を選択して、[完了]ボタンをクリックします。

クエリの名前を指定

完成したクエリを確認します。クエリは閉じておきます。

以下のクエリで分かるとおり、サンプルでは[備考]フィールドが空のレコードもあります。

完成したクエリ

単票フォームの作成

作成したクエリ[Q_社員]を選択して、[作成]タブの[フォーム]グループの[フォーム]をクリックします。

フォーム

フォームを作成して、1レコードずつ情報を入力できるようにします。

[作成]タブの[フォーム]

以下のように単票フォームが作成され、[レイアウトビュー]で表示されます。

作成された単票フォーム

ヘッダーのラベルやコントロールの大きさを調整して、フォームに名前を付けて保存します。ここでは[F_社員情報]とします。

コントロールの大きさを調整した単票フォーム

参考コントロールのグループ化を解除する方法については、以下の記事で解説しています。

フォームのコントロールのグループ解除(レイアウトの削除)と結合・再設定

Accessでテーブルやクエリをもとにフォームを作成すると、コントロールを自由に移動できないということがあります。 それは、コントロールがグ ...

続きを見る

テキストボックス内の改行について

ここでの[備考]フィールドは、データ型が[長いテキスト]なので[Enter]キーで改行されます。

[短いテキスト]で改行する場合は、[Ctrl]+[Enter]で改行できます。

テーブルのデータシートビューでも同じです。

Access2010までは、データ型[長いテキスト]は[メモ型]、[短いテキスト]は[テキスト型]です。

キーボード[Ctrl]+[Enter]

[短いテキスト]でも[Enter]キーで改行したい場合

もし、[短いテキスト]でも[Enter]キーで改行したい場合は、プロパティの[その他]タブにある[Enterキー入力時動作]で設定します。

[短いテキスト]の場合は、[既定]になっていますので、これを[フィールドに行を追加]に変更します。

[長いテキスト]の場合は、既定が[フィールドに行を追加]になっています。

テキストボックスのプロパティ[Enterキー入力時動作]

[Enterキー入力時動作]の[既定]というのは、[Accessのオプション]の[Enterキー入力後の動作]の設定に従うということです。

[Accessのオプション]の[Enterキー入力後の動作]の設定

フォームにコマンドボタンを作成

作成した[F_社員情報]をデザインビューで開きます。

[デザイン]タブの[コントロール]グループにある[ボタン]をクリックして任意の位置でドラッグしてボタンを作成します。ここでは、テキストボックス[備考]の右横に設置します。

[デザイン]タブの[ボタン]

参考もし、以下のように[コマンドボタンウィザード]が表示されたら、[キャンセル]ボタンをクリックします。

コマンドボタンウィザード

コマンドボタンのクリック時イベントで設定

コマンドボタンのプロパティを開きます。

[デザイン]タブの[ツール]グループにある[プロパティシート]をクリックします。

プロパティは、[F4]キーを押しても表示できます。

[書式]タブの[標題]でコマンドボタンに表示する名前を変更します。

プロパティの[標題]

マクロビルダー(マクロアクション)で設定する方法と、コードビルダー(VBA)で設定する方法を解説します。

マクロビルダーとコードビルダーの違いについては、以下の記事で解説しています。

マクロアクション(マクロビルダー)とVBA(コードビルダー)

Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一 ...

続きを見る

マクロビルダーで設定

[イベント]タブの[クリック時]にある[ビルダー選択]ボタン[...]をクリックします。

[ビルダーの選択]ダイアログボックスから[マクロビルダー]を選択して[OK]ボタンをクリックします。

[イベント]タブの[クリック時]にある[ビルダー選択]ボタンをクリックして[ビルダーの選択]を表示

[新しいアクションの追加]の▼ボタンをクリックして、[If]を選択します。

[新しいアクションの追加]から[If]を選択

Ifのテキストボックスに以下を入力します。

IsNull([備考])

マクロアクション[If]のテキストボックスに入力

次の[新しいアクションの追加]で[メッセージボックス]を選択します。

[新しいアクションの追加]で[メッセージボックス]を選択

コマンドボタンを押した時に[備考]テキストボックスが空白なら、メッセージウィンドウを表示します。

[メッセージ]のテキストボックスに、メッセージに表示したい文字を入力します。

ここでは、[コピーできるものがありません]と入力します。

[Elseの追加]をクリックします。

マクロアクション[メッセージボックス]

[新しいアクションの追加]で今度は、[コントロールの移動]を選択します。

[コントロール名]に以下を入力します。

[備考]

[新しいアクションの追加]で[コントロールの移動]を選択

次にマクロアクション[値の代入]を選択しますが、このマクロアクションは[すべてのアクションんを表示]をクリックしないと、表示されませんので気をつけてください。

[値の代入]は、下から4番目にあります。

[値の代入]の[アイテム]に以下を入力し、[式]には[0]を入力します。

[備考].[SelStart]

0

マクロアクション[値の代入]を選択

次も[値の代入]を選択して、[アイテム」と[式]に以下を入力します。

[備考].[SelLength]

Len([備考])

そして、[メニューコマンドの実行]を選択して、一覧から[コピー]を選択します。

以下のように設定できたら、上書き保存して閉じます。

マクロアクション[メニューコマンドの実行]

プロパティには、[埋め込みマクロ]と表示されます。

[クリック時]に[埋め込みマクロ]と表示されたプロパティ

参考同じようなマクロアクションを追加する場合は、コピー&ペーストすると効率的です。また、マクロアクションは、アクションカタログから追加することもできます。

マクロツールで既存のアクションをコピーして活用(再利用)するには

Accessでは多くのマクロアクションが使用できます。 しかし、毎回アクションを選択して入力するのは面倒ですね。 マクロアクションは、コピー ...

続きを見る

コードビルダーで設定

[イベント]タブの[クリック時]の[ビルダー選択]ボタン[...]をクリックします。

コマンドボタンの[クリック時]

以下の[ビルダーの選択]ダイアログボックスが表示されます。

[コードビルダー]を選択して、[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックス

コードを入力する画面(VBEウィンドウ)が表示されます。

VBEウィンドウ

ここに以下のコードを入力します。

If IsNull(Me!備考) Then

MsgBox "コピーできるものがありません"

Else

[備考].SetFocus
[備考].SelStart = 0
[備考].SelLength = Len([備考])
DoCmd.RunCommand acCmdCopy

End If

入力が終わったら、VBEウィンドウは閉じます。

プロパティには、[イベントプロシージャ]と表示されます。

[クリック時]に[イベントプロシージャ]と表示されたプロパティ

フォームビューで確認

デザインビューからフォームビューに切り替えて、[コピー]ボタンをクリックします。

デザインビューからフォームビューに切り替えるショートカットキーは[F5]キーです。

コマンドボタンの動作確認

テキストボックスの内容がクリップボードにコピーされています。メモ帳などに貼り付けて確認してください。

[備考]が空白の場合は、以下のメッセージウィンドウが表示されます。

[コピーできるものがありません]のメッセージウィンドウ

単票フォームを分割フォームに変更するには

単票フォームを分割フォームに変更するのは、とても簡単です。

フォームのプロパティを表示します。

プロパティシートの[選択の種類]が[フォーム]になっていることを確認します。[フォーム]になっていない場合は、▼ボタンをクリックして、メニューの中から[フォーム]を選択します。

[書式]タブの[既定のビュー]は[単票フォーム]になっていると思います。

フォームのプロパティの[既定のビュー]

[既定のビュー]の▼ボタンをクリックして、[分割フォーム]を選択します。

既定のビューを[分割フォーム]に変更

[デザインビュー]から[フォームビュー]に切り替えて確認します。

分割フォームに変更

もし、データシートビューが上に来ている場合は、再度フォームのプロパティを開いて、[書式]タブの[分割フォームの方向]で[データシートを下に]を選択します。

フォームプロパティの[分割フォームの方向]

参考分割フォームについては、以下の記事で解説しています。分割フォームは、単票フォームとデータシートビューを並べて表示できるので、何かと便利です。

分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方

Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...

続きを見る

また、フォームに表示する項目が多い場合は、タブコントロールを使うとコンパクトに見やすくなります。以下の記事で解説しています。

タブコントロールを使用したタブ付きフォームの作成

Accessでは、タブコントロールを使ってタブ付きのフォームを簡単に作成できます。 例えば、テーブルにフィールドが多く、それを1つのフォーム ...

続きを見る

タブコントロールを使用した分割フォーム

関連Windows10には、クリップボードの履歴を表示できる機能があります。ピン留めをしておくと、履歴の消去やPCの再起動を行っても、データは保持されます。他デバイスとの同期もできます。

[Windows]+[V]でクリップボードの履歴を開き選択して貼り付け

Windows10 バージョン1809では、クリップボードの履歴を保存できるようになりました。 この機能を使うと、過去のコピーや切り取りした ...

続きを見る

Officeのクリップボードについても解説しています。最大24個まで保存されます。

前にコピーしたものを貼り付けたい時はクリップボードを表示して活用

コピーは、直前のものしか貼り付けできないと思っていませんか? そんなことはありません。 数回前にコピーしたものでも貼り付けできます。 Off ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Office 2019 Access 2019

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.