- 締切済み
カレンダーの日付をTextBoxに表示するには?
Access の VBA を最後に書いたのは18年前。でも、どうしても気になっていることがあって、今日、ちょっとクラスモジュールとやらに挑戦してみた。それは、添付図のようなカレンダーの日付ラベルをクリックしたら、”日”という名のテキストボックスに表示させるというもの。 【クラスモジュール】 Option Compare Database Public WithEvents accLabel As Access.Label Public accOutput As Access.TextBox Public Sub Bind(xLabel As Label, xTextBox AS TextBox) Set Me.accLabel = xLabel Set Me.accOutput =xTextBox accLabel.OnClick = "[EVENT PROCEDURE]" End Sub Private Sub accLabel_Click() Me.accOutput = accLabel.Caption End Sub 【フォームのコード】 Option Compare Database Dim myMulti(37) As New Class1 Private Sub Form_Open(Cancel As Integer) Dim I As Integer For I = 1 To 37 myMulti(I).Bind Me.Controls(Format(I, "日付_00")), Me.日 Next I End Sub 一応は、これで目的を達したが・・・。今一、しっくりしない。ラベル一個ごとに書き込むテキストボックスを設定しない書き方があるように思えてしょうーがない。 当方、IT業界とは縁もゆかりもないど素人の爺(69歳8ヶ月)。その辺りを考慮されて、優しーく手ほどきの程をお願いします。 PS、マルチイベントで発生した値の受け渡しは懸案事項。 かって、同様のクラスモジュールを書いたことがあるが、その時も、値の受け渡しでは中途半端に終わった。まあ、もはや、どうでもよいことだが・・・。気になって、気になって
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
こんばんは 私の能力では理解できない命令文が有って、アドバイスする立場では無いのですが 回答がないので、疑問程度に見て下さい >Dim myMulti(37) As New Class1 For I = 1 To 37 添付画像の日付のボックスは42個あり Dim myMulti(42) As New Class1 For I = 1 To 31 または For I = Weekday(日付)To 37