Access VBA質問箱 IV

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

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


3638 / 9994 ←次へ | 前へ→

【9615】カレンダー式スケジュール表について(2)
質問  たまお  - 07/6/26(火) 2:01 -

引用なし
パスワード
   上記、スケジュールを記入させるためのプログラムを作成してみましたが、
非連結を連結にするための関数は分かっても、

第一週間目のある位置から17日分、非連結を、連結にさせる工夫に悩んで
おりますので教えて頂けると幸いです。

(それ以外の日付表示用テキストボックスは表示しない、
記入用テキストボックスは入力できないようにLockプロパティでロックする)


★ここの部分、読んで頂けるとありがたいです。

そこの部分のプログラム表現で悩んでいます。

非連結:
(1)日付表示用テキストボックス4週間分(日01〜日28)
(2)スケジュール記入用ボックス4週間分(DD01〜DD28)
(3)色表示用ビットマップ系(bb01〜bb28)

上記の非連結コントロールが並んでいる状態で、
曜日を確認し、第1週間目のどこに置くか指定し、その位置から17日分を
連結状態にする。(1)、(2)、(3)のボックスをすべて17日分のみ連結状態に
し、それ以外は、入力不要とする。

例) 日なら1番目に指定、月なら2番目を指定


連結:日01、D01、CC01、日02、・・・17日分

プログラムで表すとしたら、下記のような感じですが、

Me.日01.ControlSource = 日01
Me.DD01.ControlSource = D01
Me.CC01.ControlSource = CC01

For文を使ってまとめられる方法はないでしょうか?


---------------------------------------------
Option Explicit

Private Sub cmb_連休_AfterUpdate()  ←過去の連休を選択

On Error GoTo Err_cmb_連休_AfterUpdate

  If IsNull(cmb_連休) Then     ←空白は禁止
    MsgBox "選択して下さい。", vbCritical, "警告"
    Exit Sub
  End If

  Me.Filter = "ユーザID = '" & str1 & "' And 連休対象 = '" & Me.cmb_連休.Column(0) & "'": Me.FilterOn = True
  ↑ログインしたユーザで、かつ、選択した連休名を抽出。

Exit_cmb_連休_AfterUpdate:
  Exit Sub

Err_cmb_連休_AfterUpdate:
  MsgBox "編集中は使えません。" & Chr(13) & "※ 保存してからご利用下さい。", vbExclamation, "通知"
  Resume Exit_cmb_連休_AfterUpdate

End Sub


--------------------------
Private Sub Form_Open(Cancel As Integer)   ←記入画面を開く

  Dim lngGrey As Long   '色を設定する(グレー:記入できないことが分かる)
  Dim inc01 As Variant  '最初に設定した日付を記憶
  Dim days01 As Variant  '曜日を確認する

  Me.RecordSource = "SELECT ・・・・・・"  ←クエリを抽出

  'レコードソースにて、指定したクエリからログインしたユーザのユーザIDを参照し、個人データのみ抽出する
  Me.cmb_連休 = DLookup("[連休対象]", "T_連", "No_連休 = " & DMax("No_連休", "T_連"))
  Me.Filter = "ユーザID = '" & str1 & "' And 連休対象 = '" & Me.cmb_連休.Column(0) & "'": Me.FilterOn = True
                 ↑ログインしたユーザIDをstr1に保存している
  '------------------------------------

  '抽出したレコードから、最初の日を確認する。
  No_holi = DMax("No_連休", "T_連")
  inc01 = DLookup("[日01]", "T_連", "No_連休 = " & No_holi)

  '抽出したデータから、日〜土を抽出する。
  days01 = Right(Left(days01, 2), 1) ← 例) 7/25(土) の「土」を抽出したい

  '第一週間目のどこに置くか設定する
★ここの部分

  If inc01 = "日" Then

  ElseIf inc01 = "月" Then

  ElseIf inc01 = "火" Then

  ElseIf inc01 = "水" Then

  ElseIf inc01 = "木" Then

  ElseIf inc01 = "金" Then

  ElseIf inc01 = "土" Then

  End If

End Sub
662 hits

【9614】カレンダー式スケジュール表について(1) たまお 07/6/26(火) 1:47 質問[未読]
【9615】カレンダー式スケジュール表について(2) たまお 07/6/26(火) 2:01 質問[未読]
【9619】Re:カレンダー式スケジュール表について(2) 小僧 07/6/26(火) 13:04 回答[未読]
【9639】Re:カレンダー式スケジュール表について(2) たまお 07/7/1(日) 23:12 お礼[未読]

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