先だって下記の質問をさせていただいた際には回答いただいてありがとうございました
≪質問≫
下記のような連番を振る方法を教えてください
"Eyymmdd A "E"は固定で yy(西暦2ケタ)mm(月)dd(日)A(Aから始め、同じ日だとB,C,…と最大26(Z)まで)振っていく。日が変わるとまたAから始まる
「テーブル名」連絡文書E
「クエリ名」連絡文書Eクエリ
「フォーム名」連絡文書E
「フィールド名」管理番号(テキスト型)
E110105 A
E110130 A
E110130 B
E110130 C
E110202 A…
と"E"を固定 yy(西暦2ケタ)mm(月)dd(日)Aから始まり、同日であればB,C~と
日が変わるとAからまた始まるという連番をふりたいです
≪いただいた回答≫
Function getNewSeq()
If Format(Date, "yymmdd") = Mid(DMax("管理番号", "連絡文書E"), 2, 6) Then
If Right(DMax("管理番号", "連絡文書E"), 1) = "Z" Then
MsgBox "Zまで一杯です"
Exit Function
End If
getNewSeq = "E" & Format(Date, "yymmdd") & " " & _
Chr(Asc(Right(DMax("管理番号", "連絡文書E"), 1)) + 1)
Else
getNewSeq = "E" & Format(Date, "yymmdd") & " " & "A"
End If
End Function
さらに、フォームでも
デザインビューでフォームのプロパティのイベントの、「レコード移動時」に
Private Sub Form_Current()
If Me.NewRecord Then
Me!管理番号 = getNewSeq
End If
End Sub
補足をさせていただいたデバックも何度かテーブルからやり直し
できるようになりました!!
本当に助かりました
しかし、新たにわからない事態が起きてしまいました
ご教示下さい
フォームを単票形式で作成して、上記の連番が振れるようになりました
しかし、データシート(形式)でフォームを作成したところ連番が振られなくなってしまいました
同じAccess内でではなく、新規作成したり、同じAccess内でのフォーム新規作成をしてみましたが、できません
データシートでの連番は無理なのでしょうか?
「テーブル名」連絡文書E
「クエリ名」連絡文書Eクエリ
「フォーム名」連絡文書E2
「フィールド名」管理番号(テキスト型)
テーブルとクエリは前回と同じものを使いました
何卒ご教示お願いいたします
お礼
ありがとうございます データシート形式での連番ができました 見直したつもりでしたが、気づいてない点があることをつくづく感じます また、よろしくお願いいたします