コンボボックスの応用


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol167

これならわかるマイクロソフトアクセス活用法
            -->コンボボックスの応用
              
発行者:高内 章治 2012年8月22日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】コンボボックスの応用

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

「コンボボックスの応用」

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: コンボボックスの応用

─────────────────────────────────

前回の続きです。

今回は、コンボボックスの応用について説明します。

VBAを使ってコンボボックスを表示するやり方です。

これも、お客様からの質問がありました。

前回と同じように在庫管理を例に上げて説明します。

■1.データは、次のようになっています。

製品名 ロット番号 入庫数 出庫数
製品A ロット1 100
製品A ロット1 50
製品A ロット2 50
製品A ロット2 20
製品B ロット3 200
製品B ロット3 100

ロット別に入庫と出庫をおこないます。
入庫すると、入庫数に数字が入ります。
出庫すると、出庫数に数字が入ります。
入庫や出庫画面は、このデータに連結されています。

■2.ロット番号別の在庫データの計算は、

製品別、ロット番号別に、クエリを使って、入庫数と出庫数を合計します。
そして在庫数を計算します。

次のようになります。

製品名 ロット番号 入庫数 出庫数 在庫数
製品A ロット1 100 50 50
製品A ロット2 50 20 30
製品B ロット3 200 100 100

このクエリを、「Q_ロット別在庫」という名前にします。

この時の、出庫作業を考えます。

出庫画面です。

  • 製品名
  • ロット番号
  • 出庫数量

などを入力します。

そのまま、「製品名」「ロット番号」「出庫数量」を直接入力してもかまいません。

でも、少しでも入力ミスを防ぎたいですね。

この中の「ロット番号」をコンボボックスで表示して選択したいですね。
「ロット番号」と「在庫数」です。

でも、コンボボックスのウィザードや、プロパティを使うと問題があります。

プロパティの「値集合ソース」に「ロット番号」と「在庫数」のSQL文(クエリ)を表示させると、全部のデータが表示されます。

ロット別に全部のデータから選択するなんて大変です。

どうすればよいでしょうか?

そうですね。

「製品名」を入力したときに、その「製品名」のみの「ロット番号」と「在庫数」を表示します。

これは、VBAを使う必要があります。

次のようにやります。

・「製品名」の「更新後処理」にVBAを入れます。
・次のコードです。

Me!ロット番号.RowSource = "SELECT ロット番号,在庫数 FROM Q_ロット別在庫 " & _
"WHERE 製品名 ='" & Me!製品名 & "' " & _
"AND 在庫数 > 0 "

この「RowSource」はプロパティの「値集合ソース」です。

これは、「製品名」のデータが入力されたときに、「ロット番号」のコンボボックスに、入力した「製品名」と同じものを「Q_ロット別在庫」クエリから「ロット番号」と「在庫数」を取り出しています。
「在庫数」のあるものだけです。

これを、コンボボックスに表示します。

ユーザーは、該当する製品の在庫のあるものの「ロット番号」を簡単に選択することができます。

「ロット番号」の入力ミスが少なくなりますね。

コンボボックスもVBAが使えると、かなり便利です。
ユーザーにとって、使いやすいフォームになります。


参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

お盆休みも終わりました。

長い会社では、1週間お休みがあったところもあったようです。

今回は、オリンピックが盛り上がりました。
男子柔道は金メダルなかったので残念でしたが、他の競技では、毎日、メダルラッシュです。

毎日、寝不足でした。

20日の銀座での凱旋パレートもすごかったですね。
50万人も集まったようです。
人だらけです。

やっぱり、日本人選手がメダルを取ると盛り上がります。

2020年の東京オリンピックの招致に絶対に、成功して欲しいですね。


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
12:532003

アクセス全体

VBA

SQL Server