• 21
    CROSS 2022/02/13 (日) 17:16:21 dd71f@d523b

     hatena様
    お手数をおかけいたします。

        If Me(rs!略).Value = "関" Then

    が選択されます。

  • 22

    If Me(rs!略).Value = "関" Then

    If rs!略.Value = "関" Then
    に変更してみてください。

    あと、
    Me(rs!略 & rs!氏名).ForeColor
    もエラーになりそうです。

    略の条件によって色を変えるように指定したいのですが、

    とのことですが、なんの色を変えたいのかよく考えてみてください。

  • 23
    CROSS 2022/02/14 (月) 07:27:41 dd71f@d523b

    hatena様
    お手数をおかけいたします。
    If rs!略.Value = "関" Then  はデバッグできましたが、
    Me(rs!略 & rs!氏名).ForeColor がエラーになりました。
    Meを外したり、rs!略だけにしても同じです。

    色を変えたいのは表示させている 時間と略と氏名の一行、一行を略の選択によって色を変えたいです。

    24
    りんご 2022/02/14 (月) 22:04:51 07313@0e907 >> 23

     ちら見回答であれですが、上手く出来ないなら、2つに分ければいいんじゃない。略の前景色は、ほにゃらら、氏名の前景色は、ほにゃらら、みたいに。

    26
    りんご 2022/02/14 (月) 23:30:11 c564b@0e907 >> 23

     よく見たら、ラベルでしたね。ラベルの中身をカラフルに、色やフォントを変える文字列関数ってありましたっけ、誰かフォローして下さい。
     視認性に拘るなら、略のラベルと氏名のラベルを同じように用意して最初から作りましょう。
     視認性よりも可読性・保守性が大事だと思います。明日、明後日、来週、来月、来年、5年、10年後に見たときに、パッと理解・説明出来ないなら無意味ですよ。

  • 25

    ForeColorというのは「前景色」プロパティです。「前景色」プロパティはテキストボックスのプロパティです。

    rs!略 & rs!氏名 は、レコードセットの「略」フィールド、「氏名」フィールドに入っているデータです。
    Me(rs!略 & rs!氏名) としたら、そのデータと同じ名前のテキストボックスを探すことになりますが、そのような名前のテキストボックスはないですよね。

    まずは、それぞれのコードの意味を理解するように努力してください。最初は難しいと思いますが、それをしないとスキルアップはしません。

    とりあえず、
    With Me("T" & rs!日付 - FirstDay)
    の部分でテキストボックスを指定しています。

    Withの意味も調べてみてください。

  • 27
    CROSS 2022/02/15 (火) 19:33:20 dd71f@d523b

    hatena様

    ご指導ありがとうございます。ヒントを頂き、色付けできました。Withよく理解できました。
    初心者で申し訳ございませんでした。

    しかし、この方法ですと予定の案件がすべて色が変わってしまいました。考えてみれば当たり前でした。
    これを一案件毎に条件毎に色を変えるのはむつかしいでしょうか?

    調べて勉強しようとは思いますが、何かとっかかりのヒントを頂ければ幸いです。

  • 28

    まず、前回の回答の訂正から。
    前回の回答でテキストボックスと書いていましたが、ラベルの間違いです。ラベルと置き換えて読んでください。

    さて、本題です。
    一つのラベル内のテキストの色(前景色)を部分的に変えることはできません。
    行毎に変えたいなら、行数分のラベルに分割することになりますね。

  • 29
    CROSS 2022/03/05 (土) 18:40:08 c7455@b5450

    Hatena様

    色々調べているのですが、分割が解らす困っています。
    ラベルを改行前に細工をする感じになりますか?
    もう少しヒントいただけたら幸いです。

  • 30
    CROSS 2022/03/05 (土) 23:35:30 c7455@d523b

    今回の件は課員からの要望が多いので形にさせてください。よろしくお願いいたします。

  • 31
    りんご 2022/03/07 (月) 03:05:51 c564b@0e907

    例えば、2分割、オブジェクトを2つ作成。

    例えば、6分割、オブジェクトを6つ作成。

    たぶん、こんな感じではないかと思います。

    Do Until rs.EOF
    Me("ラベル" & rs!日付 - FirstDay & “予定” & rs!予定番号 & “の時刻”).Caption = rs!時刻
    Me("ラベル" & rs!日付 - FirstDay & “予定” & rs!予定番号 & “の案件”).Caption = rs!案件
    Me("ラベル" & rs!日付 - FirstDay & “予定” & rs!予定番号 & “の担当者”).Caption = rs!担当者
     If rs!案件の条件 = “ほにゃらら“ Then
     Me("ラベル" & rs!日付 - FirstDay & “予定” & rs!予定番号 & “の担当者”).ForeColor = 8388608
     End If
    rs.MoveNext
    Loop
    

    (日付別)予定番号と案件の条件をテーブルに作成。
    ※オブジェクトの数を超えて表示出来ないので、1日に何件までと上限を設ける事になりそう。

  • 32
    りんご 2022/03/07 (月) 03:23:08 c564b@0e907

    >> 30
     業者に依頼したり、カレンダーアプリを探したりするほうが、幸せになれると思いますよ?