So-net無料ブログ作成

アクセス小僧:テキストボックスに日時を表示 [コンピューター]

アクセスのフォームに設置したテキストボックスに日時(和暦年、曜日含む)を

表示させたいと思い、VBAマクロを作りました。

1.和暦年を表示

VBAで和暦年を取得する
http://www.relief.jp/docs/vba-japanese-calendar-year.html

によると「平成30」と表示させたいときは、Format関数の第2引数に「ggge」と指定するようです。

2.曜日を表示

WeekDay関数
http://officetanaka.net/excel/vba/function/WeekDay.htm

によると、WeekDay関数が、曜日に従って1, 2 --- 7の整数を返してくるので、"日"、"月" --- "土"の文字列に変換すれば、いいようです。そこで、日付(yyyy/mm/dd)を"日"、"月" --- "土"の文字列に変換する関数を作りました。

Function UFWeekday1(myDate1 As String)
'【機能】日付を曜日に変換
'【引数】
' myDate1 : 日付(yyyy/mm/dd)
'【変数】
'【実行コード】
  Select Case Weekday(myDate1)
  Case vbSunday
    UFWeekday1 = "日"
  Case vbMonday
    UFWeekday1 = "月"
  Case vbTuesday
    UFWeekday1 = "火"
  Case vbWednesday
    UFWeekday1 = "水"
  Case vbThursday
    UFWeekday1 = "木"
  Case vbFriday
    UFWeekday1 = "金"
  Case vbSaturday
    UFWeekday1 = "土"
  End Select
End Function

3.テキストボックスに西暦年、和暦年、月日、曜日、時間を表示
 Format関数とUFWeekday1関数を使って、テキストボックスに西暦年、和暦年、月日、曜日、時間を表示するマクロを作ります。

Private Sub Form_Current()
  '【イベント】レコード移動
  ' レコードをロードした日時を更新
  [テキスト_ロード日時] = Format(Now(), "yyyy\[ggge""]年""mm\月dd""日[") _
  & UFWeekday1(Now()) _
  & Format(Now(), "\] hh\:nn\:ss")
End Sub

日時データはNow関数で、現在の日時とします。
Format関数の第二引数の書式のエスケープ処理が良く分かりません。。

\[[を文字として表示するため
""]年""]年を文字として表示するため(?)
\月dd""日["解読不能
\::を文字として表示するため(?)


まあ、良く分かってないのですが、上記マクロにて、テキストボックスに日時を表示すると、こうなります。

Access_txtbox01.jpg
ヤバイぜ!(18)  コメント(1) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 18

コメント 1

cheese999

ヤバイぜ! ありがとうございます[__猫]
by cheese999 (2018-02-03 19:58) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント