こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access日付から月度入力

現在Access2007を使用して取引管理の作成を勉強しているのですが、下記の内容を実現できず行き詰ってしまいました。

フォームのレコード移動時に
Private Sub Form_Current()
If Me.NewRecord = False Then Exit Sub
Dim AutoID As String
Dim MaxID As Variant
AutoID = Format(Date, "yyyymmdd")
MaxID = DMax("取引ID", "取引マスタ", "Left(取引ID,8)='" & AutoID & "'")
If IsNull(MaxID) Then
Me.取引ID.DefaultValue = "'" & AutoID & "01" & "'"
Else
Me.取引ID.DefaultValue = "'" & AutoID & Format(Right(MaxID, 2) + 1, "00") & "'"
End If
End Sub

として”取引マスタ”テーブルの”取引ID”へ年月日8桁+連番2桁のデータ(2010111201等)が入力されています。これに併せて”月度”フィールドへ下記法則に乗っ取ってデータを入力させたいのですが、実現できずにいます。

”取引ID”の年月日の下4桁
0115~0214 → 1
0215~0314 → 2
0315~0414 → 3
0415~0514 → 4
0515~0614 → 5
0615~0714 → 6
0715~0814 → 7
0815~0914 → 8
0915~1014 → 9
1015~1114 → 10
1115~1214 → 11
1215~0114 → 12

上記のように実現するには、どのようにすればよいのでしょうか?
ご指南宜しくお願い致します。

投稿日時 - 2010-11-12 14:15:56

QNo.6314377

困ってます

質問者が選んだベストアンサー

レコード移動時に付けるのでいいなら。
月度 = Month(Date-14)

後から、追加設定なら
月度 = Month(CDate(Left(取引ID,4)&"/"&Mid(取引ID,5,2)&"/"&Mid(取引ID,7,2))-14)

投稿日時 - 2010-11-12 15:20:24

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問