Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3613 / 9994 ←次へ | 前へ→

【9640】一覧表示形式のスケジュール閲覧画面について
質問  たまお  - 07/7/1(日) 23:42 -

引用なし
パスワード
   スケジュール記入は、1人分のカレンダー式のスケジュール表としていましたが、
スケジュール閲覧は、全員分のスケジュールを一覧表示として表示させています。
(記入は個人のみ編集可、閲覧は編集不可)

前回投稿の続きですが、


(1) 閲覧画面を表示させるための、ボタンを押した後は、最初は「No_連休」の大きい数字が
表示される。(以下のクエリなら、75に該当するメンバ全員のスケジュールが表示)

(2) データを閲覧するだけ。(画面を閉じて終了するだけ)

No_連休 ユーザID   組織名 姓名 連休  日01   D01 CC01 T_色_1.P    日02
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
60    a000001   □aa○cc AA  盆07  12/27(水)   1   C:\color1.bmp  12/28(木)・・(略)
65    a000001   □aa○cc AA  夏季07 4/25(水)   1   C:\color1.bmp  4/26(木)・・(略)
65    a000002   □aa○cc SS  夏季07 4/25(水)   1   C:\color1.bmp  4/26(木)・・(略)
70    a000001   □aa○cc AA  秋07  7/25(水)   1   C:\color1.bmp  7/26(木)・・(略)
75    a000001   □aa○cc AA  冬07  8/11(土)   2   C:\color2.bmp  8/12(日)・・(略)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

記入画面の場合は、T_色_1.P でローカルに置いた色ファイルを読み込み、表示させていたが、
一覧表示の場合は、レコード毎に背景色が同じ色になってしまい、困っています。
雅さんのプログラム研究所のAccess 技術情報に、フォーム内の詳細セクションを任意の色に変える方法というもの
があって、それを参考に初めは、

変更前:
CC  CD          説明
−−−−−−−−−−−−−−−−−−
1   ビットマップイメージ  出社日
2   ビットマップイメージ  連休対象日
−−−−−−−−−−−−−−−−−−

としており、そういう方法ですと、フォーム内の詳細セクションをレコードごとに区別できます。
しかし、サイズが大きくなるため、ローカルに置いた色ファイルを読み込む方法に変えたため、
ファイルを読み込む形でフォーム内で詳細セクションをレコードごとに区別するようにしたい。

変更後:
CC  P       説明
−−−−−−−−−−−−−−−−−−
1   C:\color1.bmp   出社日
2   C:\color2.bmp   連休対象日
−−−−−−−−−−−−−−−−−−

参考URL:
Error:本文に禁止語句が含まれています。のため、
URLが載せられません。

Googleで、「フォーム内の詳細セクションを任意の色に変える方法」を
検索したら、1番目に表示されますので、ご参照お願いします。
-----------------------------------ここまで

ローカルに置いた色ファイルを読み込み、フォーム内の詳細セクションを
任意の色に変える方法についてご教示頂けますでしょうか?

例えば、以下のレコードを一覧表示させる場合、5人分のレコードが表示されるわけですが、

1日目に対して、

1行目と4行目、5行目の人は、C:\color2.bmp、2行目、3行目はC:\color1.bmpを読み込んでいます。
色を区別できるように一覧表示させるためにはどのようにプログラム設定すれば良いでしょうか?

改善後:
No_連休 ユーザID   組織名 姓名 連休  日01   D01 CC01 T_色_1.P    日02
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
75    a000001   □aa○cc AA  冬07  8/11(土)   2   C:\color2.bmp  8/12(日)・・(略)
75    a000002   □aa○cc BB  冬07  8/11(土)   1   C:\color1.bmp  8/12(日)・・(略)
75    a000003   □aa○cc CC  冬07  8/11(土)   1   C:\color1.bmp  8/12(日)・・(略)
75    a000004   □aa○cc DD  冬07  8/11(土)   2   C:\color2.bmp  8/12(日)・・(略)
75    a000005   □aa○cc DD  冬07  8/11(土)   2   C:\color2.bmp  8/12(日)・・(略)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

改善前:
No_連休 ユーザID   組織名 姓名 連休  日01   D01 CC01 T_色_1.CC
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
75    a000001   □aa○cc AA  冬07  8/11(土)   2   ビットマップイメージ・・(略)
75    a000002   □aa○cc AA  冬07  8/11(土)   1   ビットマップイメージ・・(略)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

以下、プログラムで1日目の色をテストとして設定してみましたが、同じ色が表示されています。
改善前は、上記のようにビットマップイメージをテーブルに保存したため、色を区別して表示できましたが、
今回はそういう訳にはいかないようです。

ご知恵をお願いします。

改善後:
閲覧画面

Option Compare Database
Option Explicit

Private Sub Form_Current()

  Me.連結01.Picture = ""
  Me.連結01.Picture = Me.txtP01

End Sub

Private Sub Form_Open(Cancel As Integer)

  Dim lngGrey As Long
  Dim No_holi As Integer
  Dim i As Integer

  Me.ShortcutMenu = False
  Me.RecordSource = "・・・略"
  Me.OrderBy = "No_Org, No_Post, No_User"
  Me.OrderByOn = True

  lngGrey = RGB(219, 215, 218)

  Me.cmb_連休 = DLookup("[連休名]", "T_連", "No_連休 = " & DMax("No_連休", "T_連"))
  Me.Filter = "連休名 = '" & Me.cmb_連休.Column(0) & "'": Me.FilterOn = True

  For i = 1 To 17
    Me.Controls("txtD" & Format(i, "00")).BackColor = lngGrey  ←入力できないことが分かるようにグレー色をつける
  Next i
  Me.btn_閉じる.SetFocus

End Sub

Private Sub cmb_連休_AfterUpdate()
  Me.Filter = "連休名 = '" & Me.cmb_連休.Column(0) & "'": Me.FilterOn = True ←他の連休名も参照する
End Sub

592 hits

【9640】一覧表示形式のスケジュール閲覧画面について たまお 07/7/1(日) 23:42 質問[未読]
【9641】Re:一覧表示形式のスケジュール閲覧画面につ... hatena 07/7/2(月) 14:40 回答[未読]
【9647】Re:一覧表示形式のスケジュール閲覧画面につ... たまお 07/7/3(火) 23:10 質問[未読]
【9648】追記 たまお 07/7/3(火) 23:27 発言[未読]
【9649】Re:一覧表示形式のスケジュール閲覧画面につ... hatena 07/7/3(火) 23:38 回答[未読]
【9655】Re:一覧表示形式のスケジュール閲覧画面につ... たまお 07/7/5(木) 0:34 発言[未読]
【9657】Re:一覧表示形式のスケジュール閲覧画面につ... hatena 07/7/5(木) 7:08 回答[未読]

3613 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free