Microsoft 製品に組み込まれている Visual Basic の実装。
下記の情報を提供してください。
日付番号 のデータ型。また、どのような仕様なのか。
単純に数値型で連番になるようにしたいのか。
それとも日付も関係してくるのか。
など、詳細に説明してください。
エラーがでるとのことですが、どのようなエラーがでますか。
またどのようなリレーションが設定してありますか。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
すでに何件か打ち込んであるのですが
フォーム上で VBAをうちこんだのですが
Private Sub Form_AfterUpdate()
If DCount("日付番号", "日付テーブル") = 0 Then
Me!日付番号 = 1
Else
Me!日付番号 = DMax("日付番号", "日付テーブル") + 1
End If
End Sub
どこか違いますか?
Microsoft 製品に組み込まれている Visual Basic の実装。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
下記の情報を提供してください。
日付番号 のデータ型。また、どのような仕様なのか。
単純に数値型で連番になるようにしたいのか。
それとも日付も関係してくるのか。
など、詳細に説明してください。
エラーがでるとのことですが、どのようなエラーがでますか。
またどのようなリレーションが設定してありますか。
質問作成者が受け入れた回答
こんばんは。MukkuMukuです。
メインフォーム/サブフォームの関連とそれぞれの仕様が判らないけど。。。
日付フィールド更新後ということであれば、日付(テキストボックス?)更新後で処理をしないとです。
Form_AfterUpdate/Form_BeforeUpdateは、連結されたレコードソースのカレントレコードが挿入/更新されるときに発生するイベントなので使用するイベントが違っていたということでは?
日付テキストボックスの更新後で処理をしたとすれば、日付番号に値が入るはずです。
こんにちは
返信ありがとうございます。
実際打ち込んでみたのですが、リレーションが組んでありエラーがでます。また強引に進めると
10という番号が自動で打ち込まれ、かえってきます。(テキスト型だからかな?)
日付番号 □
日付 ・・月・・日 ←これを打つと自動で日付け番号が入るをしたいのですが。
NO FAx送信元 分類 内容
1 ・・・・・・・ ・・ ・・・・・・・・・
2 ・・・・・・・ ・・ ・・・・・・・・・
といったフォーム(サブフォーム付)です
新規レコードの時のみ採番するようにしたほうがいいかな。
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then
Me!日付番号 = Nz(DMax("日付番号", "日付テーブル")) + 1
End If
End Sub
こんにちは。MukkuMukuです。
困っていることがよくわからないのだけど、AfterUpdateではなくてBeforeUpdateじゃないかなと。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me!日付番号 = Nz(DMax("日付番号", "日付テーブル")) + 1
End Sub