Windows 8 & Office 2013 Access 2013

コンボボックスの2列目の値をテキストボックスに自動表示するには

投稿日:2017年1月7日 更新日:

Accessのフォームでコンボボックスの2列目の値を取得する方法です。

コンボボックスの更新後処理の[マクロビルダー]か、[コードビルダー]で設定します。

フォームのコンボボックス

参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。

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

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

続きを見る

テーブルの確認

商品テーブル[T_商品]のフィールドは、以下のように[商品ID]、[商品]、[単価]となっています。

商品テーブル

売上テーブル[T_売上]は以下のようになっています。

売上テーブル

参考データ型の[集計]はAccess2010からの機能です。

テーブルのデータ型に[集計]が追加された!集計フィールドが簡単作成

Access2010では、テーブルのデータ型に[集計]が追加され、テーブルに集計フィールドを作成できるようになりました。 計算の結果は集計列 ...

続きを見る

フォームの[商品]をコンボボックスに変更

テーブル[T売上]をもとに単票フォームを作成します。

ウィザードを使ったフォームの作成は、以下の記事で解説しています。

フォームウィザードでフォームを作成(クエリが認識されないことも)

Accessのフォームとはテーブルやクエリのデータをもとに、データの表示、入力、編集するためのオブジェクトです。 フォームウィザードでは、[ ...

続きを見る

フォームは、以下のようなレイアウトにしています。

単票フォーム

コントロールの種類の変更

テキストボックス[商品]で右クリックして、ショートカットメニューから[コントロールの種類の変更]-[コンボボックス]を選択します。

コントロールの種類の変更

コンボボックスのプロパティ

フォームの商品コンボボックスには[商品]と[単価]を表示するようにします。

コンボボックスのプロパティを表示します。

参考プロパティシートは、[F4]キーで表示/非表示の切り替えができます。

キーボード[F4]キー

[商品]コンボボックスのプロパティ[データ]タブです。

[値集合ソース]は[T_商品]、[連結列]は[2]にします。

[連結列]は通常[1]です。連結列]とは、データとしてテーブルに保存される列のことです。列は左から1と数えます。

商品コンボボックスのプロパティ[データ]タブ

[商品]コンボボックスのプロパティ[書式]タブです。

プロパティの[列数]は[3]、[列幅]は[0cm;3cm;3cm]として、商品テーブルの1列目の[商品ID]は表示しないようにしています。

[リスト幅]は、[6cm]にしています。

商品コンボボックスのプロパティ[書式]タブ

参考以下の記事では、コンボボックスのプロパティ設定について解説しています。参考になると思います。

コンボボックスとリストボックスのカスタマイズ(プロパティの設定)

フォームにコンボボックスやリストボックスを使用すると、一覧のリストの中から選択できるようになります。 作成方法はいくつかありますが、コンボボ ...

続きを見る

コンボボックスのプロパティ[更新後処理]で設定

[商品]コンボボックスの[更新後処理]で設定します。

マクロビルダーと、コードビルダーで設定する方法を紹介します。

どちらで設定してもかまいません。

[マクロビルダー]と[コードビルダー]の相違点などは以下の記事で解説しています。

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

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

続きを見る

マクロビルダーで設定

コンボボックスのプロパティ[イベント]タブの[更新後処理]の[ビルダー選択]ボタン[…]をクリックします。

プロパティ[更新後処理]

[ビルダーの選択]ダイアログボックスが表示されますので、[マクロビルダー]を選択して[OK]ボタンをクリックします。

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

[マクロウィンドウ]が表示されます。

[表示/非表示]グループにある[すべてのアクションを表示]をクリックします。

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

一番下までスクロールすると見つけられます。

新しいアクションの追加で[値の代入]を選択

[アイテム]に[単価]と入力します。

[式]には、以下のように入力します。

参考Column の引数は列数です。この値は 0 から始まります。

[商品].[column](2)

以下のように入力できたら、[上書き保存]をクリックした後、[閉じる]ボタンをクリックして閉じます。

値の代入へ入力

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

更新後処理-[埋め込みマクロ]

コードビルダーで設定

コンボボックスのプロパティの[イベント]タブの[更新後処理]の[ビルダー選択]ボタン[…]をクリックします。

プロパティ[更新後処理]

[ビルダーの選択]ダイアログボックスが表示されますので、[コードビルダー]を選択して[OK]ボタンをクリックします。

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

以下のように入力します。

単価.Value=商品.Column(2)

コードの入力

参考Column の引数は列数です。この値は 0 から始まります。

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

商品コンボボックスのプロパティ[更新後処理]

これでフォームの[単価]には、[商品]の単価が表示され、その値を取得することができます。

非連結のテキストボックスに[商品ID]を表示

非連結のテキストボックスを挿入して、[商品ID]を表示することもできます。

表示のみでテーブルに保存しなくてもいい値という場合の方法です。

まず、非連結のテキストボックスを挿入します。[非連結]とはテーブルやクエリのデータがもとになっていないコントロールのことを指します。

参考この時、テキストボックスのみ挿入したいのであれば、[Ctrl]キーを押したままドラッグします。

非連結テキストボックスを挿入

そして、テクストボックスのプロパティを表示して、[データ]タブの[コントロールソース]に以下のように入力します。

=[商品].[column](0)

テキストボックスのプロパティ[コントロールソース]

参考フォームの非連結のテキストボックスにコンボボックスの値を表示する方法は、以下の記事でも解説しています。

コンボボックスの2列目を表示(テキストボックスのコントロールソースで設定)

フォームに切り替えて確認

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

キーボード[F5]キー

完成後のフォーム

参考コンボボックス内にカーソルをおくだけでリストを表示するようにすることもできます。

コンボボックス内にカーソルが移動すると自動でリストを表示するには

Accessの入力フォームでコンボボックスを使うことは多いと思います。 コンボボックスって、▼ボタンを押してリストを表示しますが、コンボボッ ...

続きを見る

検索

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

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 8 & Office 2013 Access 2013

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

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