ACCESS リストボックスの字の色を変えたい

いつもお世話になっております。
クエリをもとにした、リストボックスがあります。
クエリ:店舗ID、店舗名、閉店fg
閉店fgは、yes/no型で、この閉店fgがyesの場合、リストの店舗名の字を赤色にしたいのですが、可能でしょうか?教えて下さい。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

リストボックス及びコンボボックスは、ひとつのオブジェクト項目です


色設定や文字サイズなどは、オブジェクト項目単位に設定する物なので
中の条件に対し色を変えるという仕組みはできません(と思ってます)

どうしてもやりたいのであれば、
リストボックスに近い帳票フォームを使って(サブフォーム化)やっていく
ほかありません。
    • good
    • 0
この回答へのお礼

おはようございます。
やはりリストボックス上では出来ないのですね。
サブフォームで同じようなものを作りたいと思います。
回答ありがとうございました。

お礼日時:2010/09/01 09:27

リストボックス上で色分けでなくて


リストボックスで選んだものを別のテキスト項目にも表示して
そこで色分けをする。
    • good
    • 0
この回答へのお礼

おはようございます。
やはりリストボックス上では、出来ないのですね。
回答ありがとうございました。

お礼日時:2010/09/01 09:31

このQ&Aに関連する人気のQ&A

このQ&Aと関連する良く見られている質問

Qaccess2010コンボボックスとリストボックスについて質問です。 テーブルに日付、タイトル、内

access2010コンボボックスとリストボックスについて質問です。

テーブルに日付、タイトル、内容のフィールドがあります。これをコンボボックスを使って2014年、2015年、2016年・・・・
と作成して、2015年を選択すると2015年度分がリストボックスに表示できるようにできますか?

ご存知の方がいればよろしくお願いします。
accessは、初心者です。

Aベストアンサー

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成する
5.コントロールに表示する値を取得する方法の確認を求められたら、次のいずれかの操作を行います。
・ほぼ変わることのない固定値リストを表示する場合は、[表示する値をここで指定する] をクリックします。

ここで
2014
2015
2016
となるように入力するだけです。

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボッ...続きを読む

QAccessのクロス集計クエリから、追加クエリをvbaで記述したいが記述が分からない。

Windows7のAccess2007を使っています。
Accessのクロス集計クエリから、追加クエリをvbaで記述したいが記述
が分からない。

vbaを使わなければ、データベースウインドウで最初にクロス集計のク
エリを作って、そのクエリを使って追加クエリを作れば終わりですが。
これと同じ事をvbaで記述をしたいのですが。

出来るのでしょうか。

例として、収穫テーブルとサイズテーブルのクロス集計を作ると仮定し
て下記の構造で作る物とします。
収穫テーブルは下記の構造です。
1. idと言う名前でオートナンバーの型
2. サイズと言う名前で数値の型

サイズテーブルは下記の構造とします。
1. idと言う名前でオートナンバーの型
2. 名前と言うフィールドの名前でテキストの型

収穫のテーブルは下記のデータが入っています。
ID サイズ
1 1
2 2
3 2
4 2
5 1
6 2
7 3

サイズのテーブルは下記のデータが入っています。
ID 名前
1 大
2 中
3 小

リレーションシップは、一側のテーブルがサイズのテーブルで、idを主
キーとします。多側のテーブルは、収穫のテーブルで多側のキーはサイ
ズです。

ここで、クエリ1の名前で
TRANSFORM Count(収穫.ID) AS IDのカウント
SELECT 収穫.ID
FROM サイズ INNER JOIN 収穫 ON サイズ.ID = 収穫.サイズ
GROUP BY 収穫.ID
PIVOT サイズ.名前;

を実行すると、下記が得られます。
ID 小 大 中
1 1
2 1
3 1
4 1
5 1
6 1
7 1

ここで、クエリ1を使って下記のクエリ2を作ります。
INSERT INTO table1
SELECT クエリ1.*
FROM クエリ1;

上記の操作でクエリ1のクロス集計クエリを使って
クエリ2の追加クエリと言う二つの手段で
クロス集計からデータを作る事が出来ます。

この操作をvbaの手法で作る方法は無いのでしょうか。
この例でのコードの記述を宜しくお願いします。

Windows7のAccess2007を使っています。
Accessのクロス集計クエリから、追加クエリをvbaで記述したいが記述
が分からない。

vbaを使わなければ、データベースウインドウで最初にクロス集計のク
エリを作って、そのクエリを使って追加クエリを作れば終わりですが。
これと同じ事をvbaで記述をしたいのですが。

出来るのでしょうか。

例として、収穫テーブルとサイズテーブルのクロス集計を作ると仮定し
て下記の構造で作る物とします。
収穫テーブルは下記の構造です。
1. idと言う名前でオートナ...続きを読む

Aベストアンサー

こちらが参考になるでしょう。
http://www.accessclub.jp/bbs6/0008/das1904.html


おまけ、上記を参考にした
一応動作するコード。

Dim strSQL As String
strSQL = "INSERT INTO table1 " & _
   "SELECT Q.* " & _
   "FROM [" & _
   "TRANSFORM Count(収穫.ID) AS IDのカウント " & _
   "SELECT 収穫.ID " & _
   "FROM サイズ INNER JOIN 収穫 ON サイズ.ID=収穫.サイズ " & _
   "GROUP BY 収穫.ID " & _
   "PIVOT サイズ.名前 " & _
   "IN ('大','中','小')" & _
   "]. As Q"
Debug.Print strSQL
CurrentDb.Execute strSQL

Qコンボボックスにレコードセットでリストをセットする

【Access2013/VBA】

■テーブル構成
【分析テーブル】
・分析ID(主キー)
・依頼ID(外部キー)
・会社ID

【会社管理テーブル】
・会社ID(主キー)
・会社名

■コード

  Dim Rst As DAO.Recordset
  Dim Db As DAO.Database
  Dim SQL As String
  Dim lngID As Long
  Dim FlgWinLoad As Boolean
  
  Me.FlgWinLoad = modPub.FlgWindowLoading
  
  lngID = modPub.Selected依頼ID
  
  'コンボボックスの設定
  SQL = "SELECT DISTINCT [分析テーブル].[会社ID] as [会社ID1], "
  SQL = SQL & " [分析テーブル].[依頼ID], "
  SQL = SQL & " [会社管理テーブル].[会社ID] AS [会社ID2], "
  SQL = SQL & " [分析テーブル].[会社ID] AS [会社ID3], "
  SQL = SQL & " [会社管理テーブル].[会社名] "
  SQL = SQL & "FROM [分析テーブル] LEFT JOIN [会社管理テーブル] ON "
  SQL = SQL & " [分析テーブル].[会社ID] = [会社管理テーブル].[会社ID] "
  SQL = SQL & "where [依頼ID]=" & lngID & " "
  SQL = SQL & "ORDER BY [分析テーブル].[依頼ID] "

  Set Db = CurrentDb
  Set Rst = Db.OpenRecordset(SQL, dbOpenDynaset)
  If Rst.EOF = True And Rst.EOF = True Then
    GoTo errH
    
  End If
  
  Me.cmbo会社ID.ColumnCount = 5
  Me.cmbo会社ID.ColumnWidth = "1cm;1cm;1cm;3cm;3cm"
  Me.cmbo会社ID.RowSource = "会社ID1;依頼ID;会社ID2;会社ID3;会社名"
  Me.cmbo施工会社ID.RowSourceType = "テーブル/クエリ"
  
  Set Me.cmbo施工会社ID.Recordset = Rst.Clone
  
■コード の終わり

エラーになりませんが、画面でコンボボックスのリストが空になります。

解決方法を教えて頂きたいと思います。
よろしくお願いします。

【Access2013/VBA】

■テーブル構成
【分析テーブル】
・分析ID(主キー)
・依頼ID(外部キー)
・会社ID

【会社管理テーブル】
・会社ID(主キー)
・会社名

■コード

  Dim Rst As DAO.Recordset
  Dim Db As DAO.Database
  Dim SQL As String
  Dim lngID As Long
  Dim FlgWinLoad As Boolean
  
  Me.FlgWinLoad = modPub.FlgWindowLoading
  
  lngID = modPub.Selected依頼ID
  
  'コンボボックスの設定
  SQL = "SELECT DISTINCT [分析テーブル].[会社ID] as [会社ID1], "
...続きを読む

Aベストアンサー

Me.cmbo会社ID.RowSource = "会社ID1;依頼ID;会社ID2;会社ID3;会社名"
Me.cmbo施工会社ID.RowSourceType = "テーブル/クエリ"

"会社ID1;依頼ID;会社ID2;会社ID3;会社名"

少なくとも、これはテーブルでもクエリでもない。
次のサイトが参考になるかもです。

http://www.moug.net/tech/acvba/0060002.html

QAccess2013VBA 複数のテーブルからリストボックスの値集合ソースをVBAで取得する

質問です。

現在VBAでリストボックスの値集合ソースをテーブル【T_案件リスト】から取得しています。
しかし、テーブル【T_案件リスト】で顧客IDは取得出来るのですが顧客の名前が別のテーブル【T_顧客一覧】で管理している為取得できません。
クエリを利用すれば出来るのですが、他の事に影響ある為VBAでやりたいです。

現在のコードはこのようになっております。

'リストボックスノ値集合ソース更新
Me![Rst案件] = Null
Me![Rst案件].RowSource = "SELECT [T_案件リスト].[案件ID], [T_案件リスト].[顧客ID], [T_案件リスト].[件名], [T_案件リスト].[状況], [T_案件リスト].[優先度], [T_案件リスト].[希望納期], [T_案件リスト].[入金], [T_案件リスト].[見積書確認], [T_案件リスト].[レイアウト確認], [T_案件リスト].[コメント] " & _
"FROM T_案件リスト " & _
strWhere & " " & _
"ORDER BY [T_案件リスト].[状況]"


このコードはネットで調べてコピペし書き換えただけなので仕組みは正直よく理解できておりません。
これにテーブル【T_顧客一覧】のフィールド【名前】を加えたいです。

わかりやすい方法で教えて頂けたら幸いです。
詳しい方よろしくお願いします。

質問です。

現在VBAでリストボックスの値集合ソースをテーブル【T_案件リスト】から取得しています。
しかし、テーブル【T_案件リスト】で顧客IDは取得出来るのですが顧客の名前が別のテーブル【T_顧客一覧】で管理している為取得できません。
クエリを利用すれば出来るのですが、他の事に影響ある為VBAでやりたいです。

現在のコードはこのようになっております。

'リストボックスノ値集合ソース更新
Me![Rst案件] = Null
Me![Rst案件].RowSource = "SELECT [T_案件リスト].[案件ID], [T_案件リスト...続きを読む

Aベストアンサー

値集合ソースで指定しているのは「SQL」と呼ばれるものです。
その文字列により、データを取得しています。
そのSQLでは、単一テーブルからデータを取得するような記述になっています。
あなたがやりたいのは、複数テーブルから取得、なので、この場合はテーブルを結合する必要があります。
(ちなみに、値集合ソースの使い方は2つあり、今回のようにSQLを直接貼り付けるのと、そのSQLをクエリとして保存し、クエリ名を設定する方法とあります。)
今、スマホしか触れないので、参考サイトを載せます。
http://www.feedsoft.net/access/guide-query/guideq5.html
分かりやすいのが、これくらいでした。

顧客IDを使って、顧客一覧と内部結合Inner Joinすれば出来るはず。
SQLのキモなので、腰を据えて。

QAccessクエリについて

お世話になります。

以下のようなテーブルがあります。
ID 年月    商品数 利用者数
1 2013年9月  10      5
2 2013年10月 15      3
3 2013年11月 20      10
4 2013年12月 13      5
 ・
 ・
 ・
12 2014年9月 10     3

このテーブルをクエリで以下のように表示したいところです。
       10月 11月 12月・ ・ ・ 9月 ←2014年の9月
商品数    15   20  13      10
利用者数   3   10   5      3

※右端を先月とし過去1年分を表示したい。

クエリで上記のように表現することは可能でしょうか。

ご教授の程、宜しくお願い致します。

Aベストアンサー

利用者数 に対してフィールド名の別名宣言を省略しているのことに対する疑問でしょうか。

ユニオンクエリにした場合、フィールド数とデータ型があっていればフィールド名は異なっていも問題ないです。
最初のSELECT文のフィールド名が採用されます。

ですので、2番目は別名の宣言は省略しても問題ないのです。

SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名
UNION ALL
SELECT "利用者数", 年月, 利用者数 FROM テーブル名;

これでもいいし、省略せずに丁寧に書けば、

SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名
UNION ALL
SELECT "利用者数" AS 項目, 年月, 利用者数 AS 数量 FROM テーブル名;

となります。
最初のSQLは片方は別名宣言して、片方は省略したので紛らわしかったですね。

疑問に思ったことはこのようなことでしたしょうか。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報