- 締切済み
Accessレポートで場合分けした直線の引き方
いつもお世話になっております。 Access2003を使用しています。 テーブルで参加者名簿があり、その中に欠席者フラグのフィールドがあります。 この欠席者フラグフィールドに、テキストで1と入力されている人の名前の上に、 レポートから印刷した時、欠席者と分かるように直線を引きたいと考えています。 しかし、このように場合分けして直線が出たり出なかったりするやり方が分からず 困っています。 どうか、ご教示をお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【訂正】 X IF Me.[参加・不参加]=True THEN O IF Me.[参加・不参加]=False THEN O IF NOT Me.[参加・不参加]=True THEN O IF NOT Me.[参加・不参加] THEN と、訂正しておきます。 【訂正のついでに・・・】 [出欠].コントロールソース: =Not ([欠席者フラッグ]="1") Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Me.直線11.Visible = Not Me.[出欠] End Sub 私は、このように[出欠]というチェックボックスを設けています。もちろん、 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Me.直線11.Visible = CBool(Me.[欠席者フラッグ] = "1") End Sub とも書けますよ。添付図は、最後に示した書き方をしています。なお、CBool()は必須ではありません。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【補足1】作戦2の線の大きさの制御について 添付図の場合、横線を表示しているテキストボックスの文字の大きさはその他より3ポイント小さくしています。作戦1ですと線の大きさは線の大きさで、作戦2ですと線の大きさは文字の大きさでということになります。 【補足2】IF THEN文は論理式で表現できます。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) IF Me.[参加・不参加]=True THEN Me.直線11.Visible = True Else Me.直線11.Visible = False End IF End Sub このIF THEN文を論理式で表現すると Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Me.直線11.Visible = Not Me.[参加・不参加] End Sub となります。 蛇足とは思いましたが2点ほど補足しておきます。
- naoto0216
- ベストアンサー率46% (183/391)
あまり詳しくありませんが、一般的には欠席者フラグの フィールドを参照して、1が入力されていたら直線を引いて 何も入力されていなければ直線を引かないようにします。 なので、レポートの氏名を表示するテキストボックス上に 直線を引いておいて、それを欠席者フラグによって表示させたり 非表示にしたりします。 レポートの詳細のイベントで「フォーマット時」の箇所に If Me.欠席 = "1" Then Me.取り消し.Visible = True Else Me.取り消し.Visible = False End If としてみて下さい。 Me.欠席は欠席者フラグを表示しておりレポートでは非可視にします。 Me.取り消しは氏名のテキストボックスの上に引いた直線のことです。 Visible = Trueで直線を表示、Visible = Falseで非表示とします。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
- panacon
- ベストアンサー率31% (214/679)
ankle さんへ データソースを「="_____"」にしたテキストボックスをレポートの横幅いっぱいに作成して、これをレコードに同居するその他のフィールドよりも背面に置いて、条件付書式設定で、白、黒を切り替えればできると思います。アンダーラインしか直線になるのがないので、テキストボックスの位置を半分ずらせば、真ん中に来ると思います。文字と同色であれば、直線は、上にあっても下にあっても見栄えは同じです。背面に置くのは、白くしたときに上の文字を消さない工夫です。
お礼
panaconさん、ありがとうございます。 早速試してみます。
お礼
f_a_007さん、ありがとうございます。 早速試してみます。